springboot模板(thymeleaf模板及Freemarker模板)

主要内容

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

src/main/java **/*.xml src/main/resources

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}

foot.ftl
底部页面
返回登录1
返回登录2

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";
}

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_47906344/article/details/110304450