当前位置: 移动技术网 > IT编程>开发语言>Java > SpringMVC中使用Thymeleaf模板引擎实例代码

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

2019年07月19日  | 移动技术网IT编程  | 我要评论

本文研究的主要是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的方式:

@bean
public 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;
}

@bean
public 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中的视图和视图分解器

@bean
public 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中的视图和视图分解器
 @bean
public 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模板引擎实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网