没有调用DandelionServlet

时间:2015-06-17 17:17:05

标签: spring-security spring-boot thymeleaf dandelion

这是我的问题。我正在尝试在我的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

谢谢,

2 个答案:

答案 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>