在Spring MVC和Spring Boot中使用thymeleaf模板

Spring MVC:

POM:

        <!-- thymeleaf模板 -->
        <!-- https://mvnrepository.com/artifact/org.thymeleaf/thymeleaf -->
        <dependency>
            <groupId>org.thymeleaf</groupId>
            <artifactId>thymeleaf</artifactId>
            <version>3.0.7.RELEASE</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.thymeleaf/thymeleaf-spring4 -->
        <dependency>
            <groupId>org.thymeleaf</groupId>
            <artifactId>thymeleaf-spring4</artifactId>
            <version>3.0.7.RELEASE</version>
        </dependency>

Bean:

    <!-- thymeleaf -->
    <bean id="templateResolver" class="org.thymeleaf.spring4.templateresolver.SpringResourceTemplateResolver">
      <property name="prefix" value="/WEB-INF/templates/" />
      <property name="suffix" value=".html" />
      <property name="templateMode" value="HTML" />
      <property name="cacheable" value="false" />
    </bean>  

    <bean id="templateEngine" class="org.thymeleaf.spring4.SpringTemplateEngine">
      <property name="templateResolver" ref="templateResolver" />
    </bean>  

    <bean class="org.thymeleaf.spring4.view.ThymeleafViewResolver">
      <property name="templateEngine" ref="templateEngine" />
      <!--解决中文乱码-->
      <property name="characterEncoding" value="UTF-8"/>
    </bean>

Controller:

package com.jsoft.testspringmvc.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import com.jsoft.testspringmvc.model.Entry;

@Controller
public class IndexController {

    @RequestMapping(value = "/index", method = RequestMethod.GET)
    public String index(Model model) {
        Entry entry = new Entry();
        entry.setText("Text");
        entry.setTitle("Title");
        model.addAttribute("entries", entry);
        model.addAttribute("entry", new Entry());
        return "index";
    }

}

HTML:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:th="http://www.thymeleaf.org">

<head>
  <title></title>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>

<body>

<form action="#" th:action="@{/}" th:object="${entry}" method="post">
  <label>Title</label>
  <input type="text" th:field="*{title}"/>
  <label>Text</label>
  <input type="text" th:field="*{text}"/>
  <br/>
  <input type="submit" value="Add"/>
</form>

<div>
  <div th:each="entry: ${entries}">
    <h2 th:text="${entry.title}">Title</h2>
    <p th:text="${entry.text}">Text</p>
  </div>
</div>

</body>

</html>

Maven示例:

https://github.com/easonjim/5_java_example/tree/master/thymeleaf/test1

参考:

https://github.com/mendlik/spring-mvc-thymeleaf(基于全注解的形式的SpringMVC项目中使用thymeleaf模板)

https://www.tianmaying.com/tutorial/spring-mvc-thymeleaf(特别说明,此篇文章的集成Spring MVC是不行的,不要参照)

http://www.cnblogs.com/asdop/p/6093599.html

时间: 2024-10-09 09:41:39

在Spring MVC和Spring Boot中使用thymeleaf模板的相关文章

Spring Boot整合Spring MVC、Spring、Spring Data JPA(Hibernate)

一句话总结:Spring Boot不是新的功能框架,而是为了简化如SSH.SSM等等多个框架的搭建.整合及配置.使用Spring Boot 10分钟搭建起Spring MVC.Spring.Spring Data JPA(Hibernate)基础后台架构.基本零配置,全注解. 步骤一: 使用Spring Boot提供的网站生成maven项目及基础依赖.打开https://start.spring.io/网站,右侧输入想要的特性依赖.输入Web提供整合Spring MVC,输入JPA提供整合Spr

浅析Spring MVC和Spring BOOT之间的简化小秘密

从Servlet技术到Spring和Spring MVC,开发Web应用变得越来越简捷.但是Spring和Spring MVC的众多配置有时却让人望而却步,相信有过Spring MVC开发经验的朋友能深刻体会到这一痛苦.因为即使是开发一个Hello-World的Web应用,都需要我们在pom文件中导入各种依赖,编写web.xml.spring.xml.springmvc.xml配置文件等.特别是需要导入大量的jar包依赖时,我们需要在网上查找各种jar包资源,各个jar间可能存在着各种依赖关系,

从Spring MVC 到 Spring BOOT的简化道路

背景 从Servlet技术到Spring和Spring MVC,开发Web应用变得越来越简捷.但是Spring和Spring MVC的众多配置有时却让人望而却步,相信有过Spring MVC开发经验的朋友能深刻体会到这一痛苦.因为即使是开发一个Hello-World的Web应用,都需要我们在pom文件中导入各种依赖,编写web.xml.spring.xml.springmvc.xml配置文件等. 特别是需要导入大量的jar包依赖时,我们需要在网上查找各种jar包资源,各个jar间可能存在着各种依

【转】Spring,Spring MVC及Spring Boot区别

对于一个Java开发者来说,Spring可谓如雷贯耳,无论是Spring框架,还是Spring引领的IOC,AOP风格,都对后续Java开发产生的深远的影响,同时,Spring社区总能及时响应开发者的需求,推出适应潮流发展的新功能特定:而对于大部分开发者而言,平时接触最多的应该就是Spring MVC以及Spring Boot了,本文将分别对Spring,Spring MVC以及Spring Boot做总体概述,并分析阐述它们各自想要解决的问题,以便初学者能更好的了解Spring及相关概念 本篇

Spring,Spring MVC及Spring Boot区别

对于一个Java开发者来说,Spring可谓如雷贯耳,无论是Spring框架,还是Spring引领的IOC,AOP风格,都对后续Java开发产生的深远的影响,同时,Spring社区总能及时响应开发者的需求,推出适应潮流发展的新功能特定:而对于大部分开发者而言,平时接触最多的应该就是Spring MVC以及Spring Boot了,本文将分别对Spring,Spring MVC以及Spring Boot做总体概述,并分析阐述它们各自想要解决的问题,以便初学者能更好的了解Spring及相关概念 本篇

Spring MVC 以及 Spring Boot

Spring 框架就像一个家族,有众多衍生产品例如 boot.security.jpa等等.但他们的基础都是Spring 的 ioc和 aop ioc 提供了依赖注入的容器 aop ,解决了面向横切面的编程,然后在此两者的基础上实现了其他延伸产品的高级功能.Spring MVC是基于 Servlet 的一个 MVC 框架 主要解决 WEB 开发的问题,因为 Spring 的配置非常复杂,各种XML. JavaConfig.hin处理起来比较繁琐.于是为了简化开发者的使用,从而创造性地推出了Spr

关于Spring MVC 3.1.x中如何替换数据Converter的问题

参考的原文 http://www.cnblogs.com/yangzhilong/p/3725849.html 要解决的问题 Web API的开发中,经常需要对HTTP中的request body中的数据流绑定到自建Model中,或者将自建Model反序列化到Response Body中.这时候就需要用到这些Converter.而这些默认配置下的Converter可能得不到你想要的结果. 如何解决 这里仅对Json相关的转换做出说明.由于Spring默认使用的是jackson,而jackson的

Spring MVC 4.2.2 中最好的集成静态资源的方法

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. Spring MVC 4.2.2 – Best way to Add/Integrate JS, CSS and images into JSP

Spring MVC&Spring Data JPA过滤数据的另一种API

这就是我滚动的方式2014年3月23日在春天mvc | 规格 | 春季资料 | jpa | 参数解析器 | java | 搜索 | 搜索 | 滤波 Spring MVC&Spring Data JPA过滤数据的另一种API 更新 自从我写这篇文章以来已经有一段时间了.我仍然认为它值得阅读,但请务必检查Github页面,因为所描述的库已经发展,并已成为Maven Central中的一个完整的开源项目. 我坚信,一个卓越的框架最终会成为一种(领域特定的)语言. 我已经使用了Spring MVC好几年