Spring/Thymeleaf - Bootstrap 日历集成 - 模板问题

Spring/Thymeleaf - Bootstrap Calendar Integration - Templates Issues

我想将 https://github.com/Serhioromano/bootstrap-calendar 集成到我的 Spring 网络应用程序中。

所以我按照描述设置所有内容 - 将 tmpls 文件放在 /tmpls 文件夹中并在配置中添加以下行,因此不需要显式控制器。

<mvc:view-controller path="/tmpls/*"/>

我收到以下错误:

GET http://localhost:8080/*/tmpls/month.html 500 (Internal Server Error)

那是因为:

org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 3
ERROR org.thymeleaf.TemplateEngine - [THYMELEAF][tomcat-http--31] Exception processing template "tmpls/month": Exception parsing document: template="tmpls/month", line 2 - column 3

根据模板引擎,这些模板中使用了很多无效字符。

Invalid character used in text string ( <% _.each(days_name, function(name){ %> ).

我可以做些什么来让这些模板在我的应用程序中工作吗?

我真的迷路了 - 需要一些提示去哪里。感谢您的帮助,谢谢。

我现在想到了这个解决方案:

我将 tmpls 文件夹添加到我的应用程序中:

WEB-INF/thymeleaf/tmpls

我在配置中添加了以下行,因此不需要显式控制器。

<mvc:view-controller path="/tmpls/*"/>

我添加了第二个基于 JSP 的 Servlet 和 JSP解析器:

web.xml:

<servlet>
  <servlet-name>JSP_Servlet</servlet-name>
  <servlet-class>
     org.springframework.web.servlet.DispatcherServlet
  </servlet-class>
  <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>WEB-INF/spring/jsp-config.xml</param-value>
    </init-param>
  <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
  <servlet-name>JSP_Servlet</servlet-name>
  <url-pattern>/jsp/*</url-pattern>
</servlet-mapping>

jsp-config.xml:

<bean
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/thymeleaf/" />
    <property name="suffix" value=".html" />
</bean>

然后在前端:

<script type="text/javascript">

     $(document).ready(function() {
         var calendar = $("#calendar").calendar(
         {
           tmpl_path: "../jsp/tmpls/",
           events_source: function () { return []; }
         });  
     });

</script>

模板显示正确。动作好像没问题。

我不知道是否有更干净、更简单的解决方案,因为链接 servlet 可能不是最好的主意。对我来说现在没问题了。