【问题标题】:Thymeleaf templated tables break when dandelion dataTablesDialect is present当蒲公英数据表方言存在时,Thymeleaf 模板表会中断
【发布时间】:2013-07-12 20:24:31
【问题描述】:

我有一个基本表,其中一些值由 thymeleaf 通过th:text= 标签提供。

在我们将 dandelion.datatables.thymeleaf.dialect.DataTablesDialect 作为第二种方言添加到我们的模板引擎之前,一切正常。

在存在 dataTables 方言的情况下,我在 th:text 的第一个实例中得到以下异常

 org.thymeleaf.exceptions.TemplateProcessingException: Error processing template: dialect prefix "th" is set as non-lenient but attribute "th:text" has not been removed during process

这似乎与此处列出的几乎相同的问题:Error parsing thymeleaf template 但我希望有比“不要使用 dataTablesDialect”更好的解决方案

谢谢

--------------- 更新 ------------------------------- ----------

我的 Java 配置:

@Bean
public ThymeleafViewResolver thymeleafViewResolver() {
    ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
    viewResolver.setTemplateEngine(templateEngine());
    viewResolver.setViewNames(new String[]{"template*"});
    viewResolver.setOrder(1);

    return viewResolver;
}

@Bean
public ServletContextTemplateResolver templateResolver() {
    ServletContextTemplateResolver templateResolver = new ServletContextTemplateResolver();

    templateResolver.setPrefix("/WEB-INF/views/");
    templateResolver.setSuffix(".html");
    templateResolver.setTemplateMode("HTML5");
    templateResolver.setCacheable(false);

    return templateResolver;
}

@Bean
public SpringTemplateEngine templateEngine() {
    SpringTemplateEngine templateEngine = new SpringTemplateEngine();

    templateEngine.setTemplateResolver(templateResolver());
    templateEngine.addDialect(dataTablesDialect());

    return templateEngine;
}

@Bean
public DataTablesDialect dataTablesDialect() {
    return new DataTablesDialect();
}

@Bean
public ContentNegotiatingViewResolver contentNegotiatingViewResolver() {
    ContentNegotiatingViewResolver viewResolver = new ContentNegotiatingViewResolver();

    List<ViewResolver> viewResolvers = new ArrayList<ViewResolver>();
    viewResolvers.add(thymeleafViewResolver());
    viewResolver.setViewResolvers(viewResolvers);

    return viewResolver;
}

我的模板中有趣的部分:

<table id="reviewtable" >
  <tbody class="gridtable">
    <tr>
         <td >compare:</td>
        <td th:text="${row.sys1Val}">111</td>
        <td th:text="${row.sys2Val}">223</td>
    </tr>
 </tbody>
</table>

【问题讨论】:

  • 嗨!您能否发布一个代码 sn-p 来显示您对 DatatablesDialect 的使用情况?谢谢!

标签: spring spring-mvc thymeleaf dandelion


【解决方案1】:

这是一个 bug,它将在 Dandelion-Datatables 0.9.0 中修复。

同时,有两种解决方案:

  • 确实,根本不要使用 DatatablesDialect :-/
  • 或在同一页面上显示的所有表中使用 DatatablesDialect

【讨论】:

    猜你喜欢
    • 2013-08-08
    • 2014-07-22
    • 2017-06-13
    • 2017-10-30
    • 1970-01-01
    • 2015-09-09
    • 1970-01-01
    • 1970-01-01
    • 2016-09-08
    相关资源
    最近更新 更多