模块引擎 Thymeleaf

模块引擎

应用控制器可以根据客户端请求,调用业务方法,并转发页面。但是,对于页面中战士动态数据的处理,只能以拼接字符串的方式进行。

应用控制器对于生成动态网页繁琐,不利于项目分工。

解决方案之一,就是利用模板引擎简化动态数据的生成。

模板引擎是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的html文档

模板引擎可以让(网站)程序实现界面与数据分离,业务代码与逻辑代码分离,这就大大提升了开发效率,良好的设计也使得代码重用变得更加容易。

常见的模板引擎有:
Jsp
Thymeleaf
Freemarker
......

thymeleaf 环境搭建

在springBoot 环境下,添加 thymeleaf 启动器

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

在 maven 项目的 resources 目录下,新建 application.yml。进行thymeleaf配置(可选)

spring:
  thymeleaf:
    enabled: true  #开启thymeleaf视图解析
    encoding: utf-8  #编码
    prefix: classpath:/templates/  #前缀
    cache: false  #是否使用缓存
    mode: HTML  #严格的HTML语法模式
    suffix: .html  #后缀名

在 maven 项目的 resources 目录下,新建 templates 目录,存放 thymeleaf 页面


在应用控制器中绑定共享数据

@RequestMapping("test")
public String test(HttpServletRequest request){
    //绑定共享数据
    request.setAttribute("name","刘勇");
    request.setAttribute("age",20);
    //请求转发到指定页面
    return "/showInfo.html";
}

在页面中显示共享数据

1、设置 thymeleaf 前缀

<html xmlns:th="http://www.thymeleaf.org">

2、显示共享数据

姓名:<span th:text="${name}"></span><br>
年龄:<span th:text="${age}"></span>

判断语句:

<span th:if="${age>=18}">已成年</span>
<span th:if="${age<18}">未成年</span>

循环语句:

在应用控制器中绑定共享数据

request.setAttribute("list",userList);

在页面中通过 th:each 进行循环

<table border="1" cellspacing="0" width="80%">
    <thead><th>编号</th><th>姓名</th><th>电话</th></thead>
    <tbody>
        <tr th:each="obj:${list}">
            <td th:text="${obj.id}"></td>
            <td th:text="${obj.name}"></td>
            <td th:text="${obj.phone}"></td>
        </tr>
    </tbody>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值