springboot模板
主要内容
1、thymeleaf模板
2、Freemarker模板
Thymeleaf模板
关于Thymeleaf的优点,我只说一条:它就是html页面。下面直接上代码
thymeleaf模板
相关pom依赖
org.springframework.boot
spring-boot-starter-thymeleaf
Spring Boot官方文档建议在开发时将缓存关闭,那就在application.properties文件中加入下面这行
spring.thymeleaf.cache=false
正式环境还是要将缓存开启的
对应的后台代码
package com.javaxl.springboot01.entity;
public class User {
private Integer uid;
private String userName;
private String password;
public User(Integer uid, String userName, String password) {
this.uid = uid;
this.userName = userName;
this.password = password;
}
public User() {
}
public Integer getUid() {
return uid;
}
public void setUid(Integer uid) {
this.uid = uid;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
package com.javaxl.springboot01.controller;
import com.javaxl.springboot01.entity.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import java.util.ArrayList;
import java.util.List;
@Controller
public class IndexController {
@RequestMapping("/user/list")
public ModelAndView index(){
ModelAndView mav = new ModelAndView();
mav.setViewName("/user/list");
List list = new ArrayList();
list.add(new User(1,"张三","123"));
list.add(new User(2,"李四","456"));
mav.addObject("userList",list);
mav.addObject("msg","用户列表");
return mav;
}
}
Freemarker模板
导入pom依赖
org.springframework.boot
spring-boot-starter-freemarker
application.yml文件的默认配置
spring:
thymeleaf:
cache: false
freemarker:
# 设置模板后缀名
suffix: .ftl
# 设置文档类型
content-type: text/html
# 设置页面编码格式
charset: UTF-8
# 设置页面缓存
cache: false
# 设置ftl文件路径,默认是/templates,为演示效果添加role
template-loader-path: classpath:/templates/role
mvc:
static-path-pattern: /static/**
list.ftl
取值
提供默认值
welcome 【${name!'未知'}】 to freemarker!exists用在逻辑判断
<#if name?exists> ${name}条件
<#if sex=='girl'> 女 <#elseif sex=='boy'> 男 <#else> 保密循环
<#list roles as role>ID | 角色名 | 描述 |
${role.rid} | ${role.roleName} | ${role.desc} |
include
<#include 'foot.ftl'>局部变量(assign)/全局变量(global)
<#assign ctx1> ${springMacroRequestContext.contextPath}<#global ctx2>
${springMacroRequestContext.contextPath}
</#global>
c t x 1 和 {ctx1}和 ctx1和{ctx2}
common.ftl
<#assign ctx>
${springMacroRequestContext.contextPath}
</#assign>
login.ftl
欢迎来到登录界面
相关controler层的Java代码
@RequestMapping("/role/list")
public ModelAndView roleList(){
ModelAndView mav = new ModelAndView();
mav.setViewName("/list");
mav.addObject("name",null);
mav.addObject("sex","gay");
List list = new ArrayList();
list.add(new Role(1,"老师","教书育人"));
list.add(new Role(2,"学生","知识改变命运"));
mav.addObject("roles",list);
return mav;
}
@RequestMapping("toLogin")
public String toLogin(){
return "login";
}