傻大方


首页 > 人文 >

淘宝|Java学习之Thymeleaf使用



按关键词阅读:

淘宝|Java学习之Thymeleaf使用

文章图片


前言:
为了后续的代码审计一些常用的框架和技术都是有必要了解一下 , 在此重拾Spring Boot等开发知识内容 。
1|20x01 Thymeleaf简介Thymeleaf是一个现代的服务器端Java模板引擎的web和独立的环境 , 能够处理HTML XML JavaScript CSS , 甚至纯文本 。
【淘宝|Java学习之Thymeleaf使用】Thymeleaf的主要目标是提供一种优雅的和高度可维护的方式来创建模板 。 为了实现这一点 , 它构建在自然模板的概念上 , 以不影响模板作为设计原型使用的方式将其逻辑注入模板文件 。 这改进了设计的交流 , 并在设计和开发团队之间架起了桥梁 。
Thymeleaf的设计从一开始就考虑了Web标准 , 尤其是HTML5
Thymeleaf是一个非常可扩展的模板引擎(事实上它可以被称为模板引擎框架) , 它允许你定义和自定义的方式 , 你的模板将被处理到一个精细的细节级别 。
将一些逻辑应用到标记工件(标记、一些文本、注释 , 如果模板不是标记 , 则仅仅是占位符)的对象称为处理程序 , 这些处理程序的集合—加上一些额外的工件—通常是方言的组成部分 。 Thymeleaf的核心库提供了一种称为标准方言的方言 , 这对大多数用户来说应该足够了 。
1|30x02 Thymeleaf 基础配置这里主要以Srping Boot为主
<!--引入thymeleaf依赖-->
       <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-thymeleaf</artifactId>
       </dependency>

在项目的resources\\templates目录下创建HTML文件 , 这里注意导入thymeleaf的命名空间 , 否则无法进行模板的渲染 。
<!doctype html><!--注意:引入thymeleaf的名称空间--><html lang=\"en\" xmlns:th=\"http://www.thymeleaf.org\"><head>
   <meta charset=\"UTF-8\">
   <meta name=\"viewport\"
         content=\"width=device-width user-scalable=no initial-scale=1.0 maximum-scale=1.0 minimum-scale=1.0\">
   <meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\">
   <title>Document</title></head><body>
   <p th:text=\"'hello SpringBoot'\">hello thymeleaf</p></body></html>

编写Controller
import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.GetMapping;@Controllerpublic class IndexController {    @GetMapping(\"home\")
   public String index() {        return \"index\";
   


这里的注解需要使用@Controller , 不能使用@RestController注解 , 否则会报错.

  1. 如果只是使用@RestController注解Controller , 则Controller中的方法无法返回jsp页面 , 或者html , 配置的视图解析器 InternalResourceViewResolver不起作用 , 返回的内容就是Return 里的内容 。
  2. 如果需要返回到指定页面 , 则需要用 @Controller配合视图解析器InternalResourceViewResolver才行 。
    如果需要返回JSON , XML或自定义mediaType内容到页面 , 则需要在对应的方法上加上@ResponseBody注解 。
1|40x03 Thymeleaf 语法类型
  • 1.变量表达式
  • 2.选择或星号表达式
  • 3.文字国际化表达式
  • 4.URL表达式
${...变量表达式<span th:text=\"${book.author.name\">  
<li th:each=\"book : ${books\">  


@{... 链接表达式@{/order/list
@{/order/details(id=${orderId)  

或者是
   
<form th:action=\"@{/createOrder\">  
<a href=https://mparticle.uc.cn/"main.html\" th:href=https://mparticle.uc.cn/"@{/main\">

#{... 消息表达式#{main.title  #{message.entrycreated(${entryId)  

*{... 选择变量表达式<div th:object=\"${book\">  ...  
<span th:text=\"*{title\">...</span>  ...  
</div>

常用th标签th标签属性
1)th:text:文本替换;
2)th:utext:支持html的文本替换 。
3)th:value:属性赋值
4)th:each:遍历循环元素
5)th:if:判断条件 , 类似的还有th:unless , th:switch , th:case
6)th:insert:代码块引入 , 类似的还有th:replace , th:include , 常用于公共代码块提取的场景
7)th:fragment:定义代码块 , 方便被th:insert引用分页标题#e#
8)th:object:声明变量 , 一般和*{一起配合使用 , 达到偷懒的效果 。
9)th:attr:设置标签属性 , 多个属性可以用逗号分隔


1|50x04 结尾内容比较简单 , 主要作为记录 。


    来源:(Java正道的光)

    【】网址:/a/2021/0206/kd687420.html

    标题:淘宝|Java学习之Thymeleaf使用


    上一篇:菲律宾|美航母刚进入南海,菲律宾就对中国翻脸!忘恩负义我国是有责任的

    下一篇:罗永浩|互联网在宿华和张一鸣这里拐了个弯


    人文

    早春|2020早春仙女美甲攻略,涂鸦美甲可爱,草莓美甲温柔有治愈力

    阅读(45)

    初春季节,在这个草长莺飞的季节,真的特别适合做一款美腻的美甲来凸显出自己的魅力与光芒。今天小编就来盘点一下适合初春季节的几款好看的美甲,快点来看一看吧~可爱型美甲011.浅咖色动漫美甲浅咖色的小熊美甲,这个美甲的基色属于低调而不张扬的浅咖色,各...

    人文

    北京|建国际数字化大都市 北京发布数字经济新政

    阅读(47)

    9月7日,在2020年中国国际服务贸易交易会上,北京发布了《北京市促进数字经济创新发展行动纲要(2020-2022年)》《北京市关于打造数字贸易试验区的实施方案》《北京国际大数据交易所设立工作实施方案》等系列方案,为未来的数字经济发展指明了方向。六条主线...