这是我的问题。我正在尝试在我的Spring-boot Thymeleaf应用程序上设置蒲公英数据表。我相信我的一切都正确连线。我可以从日志中的AssetCacheManger
获取javascript文件,并从URL手动调用DandelionServlet
,但不会像在GitHub上的示例中那样自动调用它。另请注意,我已安装Spring Security。在发布之前我禁用了安全性以确保这不是问题。
POM
<dependency>
<groupId>com.github.dandelion</groupId>
<artifactId>datatables-thymeleaf</artifactId>
<version>0.10.0</version>
</dependency>
JavaConfig
@Configuration
public class DandelionConfig
{
@Bean
public DandelionDialect dandelionDialect()
{
return new DandelionDialect();
}
@Bean
public DataTablesDialect dataTablesDialect()
{
return new DataTablesDialect();
}
@Bean
public FilterRegistrationBean dandelionFilterRegistrationBean()
{
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
DandelionFilter dandelionFilter = new DandelionFilter();
filterRegistrationBean.setFilter(dandelionFilter);
return filterRegistrationBean;
}
@Bean
public ServletRegistrationBean dandelionServletRegistrationBean()
{
ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean();
DandelionServlet dandelionServlet = new DandelionServlet();
servletRegistrationBean.setServlet(dandelionServlet);
servletRegistrationBean.addUrlMappings("/dandelion-assets/*");
return servletRegistrationBean;
}
}
这是与GitHub示例不同的日志部分。找不到AssetMapper上的委托位置
2015-06-17 12:57:51,503 Application: LMI [http-apr-8080-exec-7] DEBUG com.github.dandelion.datatables.core.configuration.DatatablesConfigurator - Initializing the Javascript generator...
2015-06-17 12:57:51,508 Application: LMI [http-apr-8080-exec-7] WARN com.github.dandelion.core.asset.AssetMapper - No location found for delegate on AssetStorageUnit [name=dandelion-datatables, version=0.10.0, type=js, dom=null, locations={delegate=dandelion-datatables.js}, attributes=null, attributesOnlyName=[]]
2015-06-17 12:57:51,513 Application: LMI [http-apr-8080-exec-7] DEBUG com.github.dandelion.core.asset.cache.AssetCacheManager - Retrieving asset with the key 591a4c961431b5fb3c6eedecfc5cca1b6ea5b09d/dandelion-datatables-0.10.0.js
2015-06-17 12:57:51,513 Application: LMI [http-apr-8080-exec-7] DEBUG com.github.dandelion.core.asset.cache.AssetCacheManager - Storing asset under the key 591a4c961431b5fb3c6eedecfc5cca1b6ea5b09d/dandelion-datatables-0.10.0.js
2015-06-17 12:57:51,518 Application: LMI [http-apr-8080-exec-7] WARN com.github.dandelion.core.asset.AssetMapper - No location found for delegate on AssetStorageUnit [name=dandelion-datatables, version=0.10.0, type=js, dom=null, locations={delegate=dandelion-datatables.js}, attributes=null, attributesOnlyName=[]]
2015-06-17 12:57:51,518 Application: LMI [http-apr-8080-exec-7] DEBUG com.github.dandelion.core.asset.cache.AssetCacheManager - Retrieving asset with the key 591a4c961431b5fb3c6eedecfc5cca1b6ea5b09d/dandelion-datatables-0.10.0.js
2015-06-17 12:57:51,518 Application: LMI [http-apr-8080-exec-7] DEBUG com.github.dandelion.core.asset.cache.AssetCacheManager - Storing asset under the key 591a4c961431b5fb3c6eedecfc5cca1b6ea5b09d/dandelion-datatables-0.10.0.js
谢谢,
答案 0 :(得分:0)
我使用Thymeleaf和蒲公英数据表创建了一个简单的Spring Boot应用程序。
您可以在此处获取代码https://github.com/ohiocowboy/datatable-thymeleaf-spring-boot-starter
答案 1 :(得分:0)
参考这个答案
Spring Boot + Thymeleaf + Dandelion configuration not working
您可以使用 config 代替
@Configuration
public class DandelionConfig {
@Bean
public DandelionDialect dandelionDialect() {
return new DandelionDialect();
}
@Bean
public DataTablesDialect dataTablesDialect(){
return new DataTablesDialect();
}
@Bean
public Filter dandelionFilter() {
return new DandelionFilter();
}
@Bean
public ServletRegistrationBean dandelionServletRegistrationBean() {
return new ServletRegistrationBean(new DandelionServlet(), "/dandelion-assets/*");
}
}
以及这些依赖关系
<dependency>
<groupId>com.github.dandelion</groupId>
<artifactId>datatables-thymeleaf</artifactId>
<version>0.10.1</version>
</dependency>
<dependency>
<groupId>com.github.dandelion</groupId>
<artifactId>datatables-spring3</artifactId>
<version>0.10.1</version>
</dependency>