springboot使用thymeleaf
1、加入spring-boot-starter-thymeleaf依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
2、在配置文件中关闭thymeleaf缓存
//开发过程中建议关闭cache
spring.thymeleaf.cache=false
3、新建模板html,路径放在src/main/resources/templates/下
4、新建模板controller类,使用@Controller注解,返回String或者ModelAndView值,该值指向templates目录下文件的路径
@Controller
@RequestMapping("/thymeleaf")
public class ThymeleafController {
@RequestMapping("/hello0")
public String hello0(){
return "thymeleaf";
}
@RequestMapping("/hello1")
public String hello1(Map<String, Object> map){
map.put("name", "Cay");
return "thymeleaf";
}
@RequestMapping("/hello2")
public ModelAndView hello2(){
ModelAndView mv = new ModelAndView();
mv.addObject("name", "Amy");
mv.setViewName("thymeleaf");
return mv;
}
}
在spring-boot中使用freemarker
1、加入spring-boot-starter-freemarker依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
2、在配置文件中关闭freemarker缓存
spring.freemarker.cache=false
3、新建模板ftl,路径放在src/main/resources/templates/下
4、新建模板controller类,使用@Controller注解,返回String或者ModelAndView值,该值指向templates目录下文件的路径
@Controller
@RequestMapping("/freemarker")
public class FreemarkerController {
@RequestMapping("/hello0")
public String hello0(){
return "freemarker";
}
@RequestMapping("/hello1")
public String hello1(Map<String, Object> map){
map.put("name", "Cay");
return "freemarker";
}
@RequestMapping("/hello2")
public ModelAndView hello2(){
ModelAndView mv = new ModelAndView();
mv.addObject("name", "Amy");
mv.setViewName("freemarker");
return mv;
}
}
应用程序的application.properties/yml/yaml配置文件
server:
port: 8081 #修改默认的端口号,默认为8080
context-path: /springboot #修改默认的contextPath,默认为/
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql:///springboot
username: root
password: admin
#springboot支持c3p0,dbcp,如果需要使用其他的数据库连接池,指定type
# type: 其他的使用指定的dataSource, 比如druid
jpa:
database: MYSQL
show-sql: true
hibernate:
ddl-auto: update
naming:
strategy: org.hibernate.cfg.ImprovedNamingStrategy
properties:
hibernate.dialect: org.hibernate.dialect.MySQL5Dialect
thymeleaf:
cache: false #开发过程中建议关闭cache
#encoding: UTF-8 #thymeleaf编码
#suffix: .html # thymeleaf后缀
#content-type: text/html #格式
freemarker:
cache: false
#charset: UTF-8
#suffix: .ftl
#content-type: text/html
freemarker.ftl文件
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Insert title here</title>
</head>
<body>
<h1>Freemarker模板文件</h1>
<#if name??>
Welcome ${name}
<#else>
Hello world!
</#if>
</body>
</html>
thymeleaf.html文件
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8" />
<title>Insert title here</title>
</head>
<body>
<h1>Thymeleaf模板文件</h1>
Welcome <span th:text="${name}"></span>
</body>
</html>