【问题标题】:Spring/Thymeleaf - Bootstrap Calendar Integration - Templates IssuesSpring/Thymeleaf - 引导日历集成 - 模板问题
【发布时间】:2015-11-16 08:51:50
【问题描述】:

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

所以我按照描述设置了所有内容 - 将 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){ %> ).

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

  • 喜欢包装这个模板吗?

我真的迷路了——我需要一个提示去哪里。我很感激任何帮助,谢谢。

【问题讨论】:

  • 我想在 .jsp/jstl 中重写这个模板,然后添加第二个基于 JspResolver 的 .jsp Servlet - 但我不知道它是否正确,是否有很多更简单的解决方案

标签: spring twitter-bootstrap jsp thymeleaf saxparser


【解决方案1】:

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

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

WEB-INF/thymeleaf/tmpls

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

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

我添加了第二个基于 JSP 的 Servlet 和 JSPResolver:

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 可能不是最好的主意。对我来说现在还好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-20
    • 1970-01-01
    • 1970-01-01
    • 2015-02-18
    • 2020-08-27
    • 2021-06-21
    相关资源
    最近更新 更多