首页 > 编程 > Java > 正文

SpringMVC中使用Thymeleaf模板引擎实例代码

2019-11-26 10:18:38
字体:
来源:转载
供稿:网友

本文研究的主要是SpringMVC中使用Thymeleaf模板引擎的相关内容,具体介绍如下。

Thymeleaf提供了一组Spring集成,允许您将其用作Spring MVC应用程序中全面替代JSP的功能。

Maven依赖

    <!-- thymeleaf-spring4 -->    <dependency>      <groupId>org.thymeleaf</groupId>      <artifactId>thymeleaf-spring4</artifactId>      <version>3.0.6.RELEASE</version>    </dependency>

配置模板解析器

JavaConfig的方式:

@Beanpublic SpringResourceTemplateResolver templateResolver(){  // SpringResourceTemplateResolver自动与Spring自己集成  // 资源解决基础设施, 强烈推荐。  SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();  templateResolver.setApplicationContext(this.applicationContext);  templateResolver.setPrefix("/WEB-INF/templates/");  templateResolver.setSuffix(".html");  // HTML是默认值, 为了清楚起见, 在此处添加。  templateResolver.setTemplateMode(TemplateMode.HTML);  // 默认情况下, 模板缓存为true。如果您想要设置为false  // 模板在修改时自动更新。  templateResolver.setCacheable(true);  return templateResolver;}@Beanpublic SpringTemplateEngine templateEngine(){  // SpringTemplateEngine自动应用SpringStandardDialect  // 并启用Spring自己的MessageSource消息解析机制。  SpringTemplateEngine templateEngine = new SpringTemplateEngine();  templateEngine.setTemplateResolver(templateResolver());  // 使用Spring 4.2.4或更高版本启用SpringEL编译器  // 可以加快大多数情况下的执行速度, 但是当一个模板中  // 的表达式在不同数据类型之间重用时,   // 可能与特定情况不兼容, 因此该标志默认为“false”  // 以实现更安全的向后兼容性。  templateEngine.setEnableSpringELCompiler(true);  return templateEngine;} 

XML的方式

  <!-- SpringResourceTemplateResolver自动与Spring自己集成 -->  <!-- 资源解决基础设施, 强烈推荐。 -->  <bean id="templateResolver"    class="org.thymeleaf.spring4.templateresolver.SpringResourceTemplateResolver">    <property name="prefix" value="/WEB-INF/views/" />    <property name="suffix" value=".html" />    <!-- HTML是默认值, 为了清楚起见, 在此处添加。 -->    <property name="templateMode" value="HTML" />    <!-- 默认情况下, 模板缓存为true。如果您想要设置为false -->    <!-- 模板在修改时自动更新。 -->    <property name="cacheable" value="true" />  </bean>  <!-- SpringTemplateEngine自动应用SpringStandardDialect并 -->  <!-- 使用Spring自己的MessageSource消息解析机制。 -->  <bean id="templateEngine" class="org.thymeleaf.spring4.SpringTemplateEngine">    <property name="templateResolver" ref="templateResolver" />    <!-- 使用Spring 4.2.4或更高版本启用Spring EL编译器 -->    <!-- 可以加快大多数情况下的执行速度, 但是当一个模板中 -->    <!-- 的表达式在不同数据类型之间重用时, -->    <!-- 可能与特定情况不兼容, 因此该标志默认为“false” -->    <!-- 以实现更安全的向后兼容性。 -->    <property name="enableSpringELCompiler" value="true" />  </bean>

Thymeleaf中的视图和视图分解器

@Beanpublic ThymeleafViewResolver viewResolver(){  ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();  viewResolver.setTemplateEngine(templateEngine());  // 注意“order”和“viewNames”是可选的  viewResolver.setOrder(1);  viewResolver.setViewNames(new String[] {".html", ".xhtml"});  return viewResolver;} 13420.2 Thymeleaf中的视图和视图分解器 @Beanpublic ThymeleafViewResolver viewResolver(){  ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();  viewResolver.setTemplateEngine(templateEngine());  // 注意“order”和“viewNames”是可选的  viewResolver.setOrder(1);  viewResolver.setViewNames(new String[] {".html", ".xhtml"});  return viewResolver;} 

或者是以XML的格式:

<bean class="org.thymeleaf.spring4.view.ThymeleafViewResolver"> <property name="templateEngine" ref="templateEngine" /> <!-- 注意“order”和“viewNames”是可选的 --> <property name="order" value="1" /> <property name="viewNames" value="*.html,*.xhtml" /></bean> 

总结

以上就是本文关于SpringMVC中使用Thymeleaf模板引擎实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表