1
我使用Thymeleaf的Spring Boot,现在我想添加蒲公英数据表,但它不起作用。Spring Boot + Thymeleaf +蒲公英配置不工作
这里是我的Maven依赖:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.1.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- Dandelion -->
<dependency>
<groupId>com.github.dandelion</groupId>
<artifactId>datatables-thymeleaf</artifactId>
<version>0.10.1</version>
</dependency>
我按照本指南http://dandelion.github.io/dandelion/docs/installation/thymeleaf.html并配置了以下豆:
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Bean
public FilterRegistrationBean dandelion() {
FilterRegistrationBean registrationBean = new FilterRegistrationBean();
registrationBean.setFilter(new DandelionFilter());
registrationBean.addUrlPatterns("/*");
return registrationBean;
}
@Bean
public ServletRegistrationBean dandelionServlet() {
ServletRegistrationBean registrationBean = new ServletRegistrationBean();
registrationBean.setServlet(new DandelionServlet());
registrationBean.addUrlMappings("/dandelion/*");
return registrationBean;
}
@Bean
public ServletContextTemplateResolver defaultTemplateResolver() {
ServletContextTemplateResolver resolver = new ServletContextTemplateResolver();
resolver.setTemplateMode("HTML5");
resolver.setPrefix("/WEB-INF/templates/");
resolver.setSuffix(".html");
resolver.setCharacterEncoding("UTF-8");
resolver.setCacheable(false);
SpringTemplateEngine engine = new SpringTemplateEngine();
engine.setTemplateResolver(resolver);
engine.addDialect(new DataTablesDialect());
return resolver;
}
}
我有此HTML来进行测试:
<!doctype html>
<html
\t xmlns:th="http://www.thymeleaf.org"
\t xmlns:ddl="http://github.com/dandelion">
<head>
\t <link type="text/css" href="/stylesheets/dataTables.css" media="screen" rel="stylesheet" />
\t <script src="/javascripts/vendor/jquery191.js" type="text/javascript"></script>
\t <script src="/javascripts/vendor/dataTables.js" type="text/javascript"></script>
</head>
<body>
\t <br/>
\t <table id="myTableId" ddl:table="true" ddl:url="@{/clientes}">
\t <thead>
\t <tr>
\t <th ddl:property="telefone">Telefone</th>
\t <th ddl:property="nome">Nome</th>
\t </tr>
\t </thead>
\t </table>
</body>
</html>
我认为蒲公英的servlet没有被调用。 命名空间不处理。
你是对的!非常感谢。 – leonardoborges 2015-02-24 20:36:32
我遵循这一个,几乎所有的工作,除了DataTables只是显示“处理”。我得到的数据没有问题,但它不反映在数据表中。它只显示“处理”。 – Incognito 2015-08-13 05:05:27
你可以检查从ajax查询得到的服务器响应吗?可能是它给出了一个错误。加载页面时,请从Chrome控制台的网络选项卡中进行检查。 – 2015-08-13 12:28:44