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 可能不是最好的主意。对我来说现在没问题了。
我想将 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 可能不是最好的主意。对我来说现在没问题了。