【发布时间】:2015-03-20 06:08:45
【问题描述】:
在使用 Tiles 之后,我想尝试使用 Thymeleaf 模板,但是,我似乎根本无法在 HTML 页面中使用任何表达式。
我已经尝试使用项目启动器使用快速启动 Spring MVC,并且在渲染到 jsp 时一切正常,但没有使用带有 Thymeleaf 的 HTML - 显示了 HTML 页面,所以它显然在一定程度上可以工作,但所有表达式显示为简单文本且未计算。
这是 servlet-context.xml 的 Thymeleaf 部分:
<beans:bean id="templateResolver"
class="org.thymeleaf.templateresolver.ServletContextTemplateResolver">
<beans:property name="prefix" value="/WEB-INF/templates/" />
<beans:property name="suffix" value=".html" />
<beans:property name="templateMode" value="HTML5" />
</beans:bean>
<beans:bean id="templateEngine" class="org.thymeleaf.spring4.SpringTemplateEngine">
<beans:property name="templateResolver" ref="templateResolver" />
<beans:property name="additionalDialects">
<beans:set>
<beans:bean class="nz.net.ultraq.thymeleaf.LayoutDialect" />
</beans:set>
</beans:property>
</beans:bean>
<beans:bean class="org.thymeleaf.spring4.view.ThymeleafViewResolver">
<beans:property name="templateEngine" ref="templateEngine" />
</beans:bean>
控制器只是从快速启动 MVC 模板中生成的一个:
@Controller
public class HomeController {
@RequestMapping(value = "/", method = RequestMethod.GET)
public String home(Locale locale, Model model) {
Date date = new Date();
DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);
String formattedDate = dateFormat.format(date);
model.addAttribute("serverTime", formattedDate );
return "home";
}
}
HTML 只是从带有额外 Thymleaf 表达式的 jsp 中复制过来的:
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1"/>
<title>Insert title here</title>
</head>
<body>
<p> (HTML)The time on the server is ${serverTime}. </p>
#{serverTime}
<h1>th:text:="#{serverTime}"</h1>
</body>
</html>
关于我在这里缺少什么的任何想法?谢谢
【问题讨论】:
标签: spring spring-mvc thymeleaf