SpringBoot:Thymeleaf 内置工具类对象


目录:

(1)内置工具类:#dates

(2)内置工具类:#numbers

(3)内置工具类:#strings

(4)内置工具类: #lists 

(5)null处理


可以查看官方文档:内置工具类对象,19开始

https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html

                                      内置工具类对象

(1)内置工具类:#dates

控制器:ThymeleafController:

package com.bjpowernode.controller;

import com.bjpowernode.model.SysUser;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.*;

@Controller
@RequestMapping("/tpl")  //放在类上方的这个注解会和@GetMapping一起组成完整的访问路径
public class ThymeleafController {

    

    //内置工具类对象
    @GetMapping("/utilobject")
    public String utilObject(Model model){
        model.addAttribute("mydate",new Date());
        model.addAttribute("mynum",26.695);
        model.addAttribute("mystr","bjpowernode");

        List<String> list=Arrays.asList("a","b","c");//使用Arrays的工具类创建集合
        model.addAttribute("mylist",list);

        return "utilObject";
    }
}

index.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
  <h3>index.html--学习Thymeleaf语法</h3>
  <a href="tpl/expression1">标准变量表达式</a>
  <br>
  <a href="tpl/expression2">选择变量表达式</a>
  <br>
  <a href="tpl/link">连接表达式</a>
  <br>
  <a href="tpl/property">模板属性</a>
  <br>
  <a href="tpl/eachList">循环list集合</a>
  <br>
  <a href="tpl/eachArray">循环数组Array</a>
  <br>
  <a href="tpl/eachMap">循环Map集合</a>
  <br>
  <a href="tpl/ifunless">判断语句if和unless</a>
  <br>
  <a href="tpl/switch">判断语句switch</a>
  <br>
  <a href="tpl/inline">内联iniline</a>
  <br>
  <a href="tpl/text">字面量</a>
  <br>
  <a href="tpl/strjoin">字符串连接</a>
  <br>
  <a href="tpl/sym">运算符的使用</a>
  <br>
  <a href="tpl/baseObject">内置对象</a>
  <br>
  <a href="tpl/utilobject">内置工具类对象</a>
</body>
</html>

模板utilObject.html:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
  <div style="margin-left: 300px">
      <h3>日期类的工具类对象 #dates</h3>
      --format默认的是我们国家日期的标准格式:--
      <p th:text="${#dates.format(mydate)}"></p>
      --指定日期格式:--
      <p th:text="${#dates.format(mydate,'yyyy-MM-dd')}"></p>
      <p th:text="${#dates.format(mydate,'yyyy-MM-dd HH:mm:ss')}"></p>
      <!--获取年-->
      <p th:text="${#dates.year(mydate)}"></p>
      <!--获取月-->
      <p th:text="${#dates.month(mydate)}"></p>
      <!--获取月的字符串-->
      <p th:text="${#dates.monthName(mydate)}"></p>
      <!--创建一个时间-->
      <p th:text="${#dates.createNow()}"></p>
  </div>
</body>
</html>

重新启动主启动类 :

package com.bjpowernode;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class ThymeleafApplication {

    public static void main(String[] args) {
        SpringApplication.run(ThymeleafApplication.class, args);
    }

}

点击内置工具类对象:

(2)内置工具类:#numbers

模板:utilObject.html:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
  <div style="margin-left: 300px">
      <h3>日期类的工具类对象 #dates</h3>
      --format默认的是我们国家日期的标准格式:--
      <p th:text="${#dates.format(mydate)}"></p>
      --指定日期格式:--
      <p th:text="${#dates.format(mydate,'yyyy-MM-dd')}"></p>
      <p th:text="${#dates.format(mydate,'yyyy-MM-dd HH:mm:ss')}"></p>
      <!--获取年-->
      <p th:text="${#dates.year(mydate)}"></p>
      <!--获取月-->
      <p th:text="${#dates.month(mydate)}"></p>
      <!--获取月的字符串-->
      <p th:text="${#dates.monthName(mydate)}"></p>
      <!--创建一个时间-->
      <p th:text="${#dates.createNow()}"></p>

      <h3>内置工具类#numbers,操作数字的</h3>
      <p th:text="${#numbers.formatCurrency(mynum)}"></p>
      <p th:text="${#numbers.formatDecimal(mynum,5,2)}"></p>
  </div>
</body>
</html>

(3)内置工具类:#strings

模板utilObject.html:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
  <div style="margin-left: 300px">
    

      <h3>工具类#strings,操作字符串</h3>
      <p th:text="${#strings.toUpperCase(mystr)}"></p>
      <p th:text="${#strings.indexOf(mystr,'power')}"></p>
      --取字符串[2,5)不包含5--
      <p th:text="${#strings.substring(mystr,2,5)}"></p>
      --下标2开始之后的字符串--
      <p th:text="${#strings.substring(mystr,2)}"></p>
      <p th:text="${#strings.concat(mystr,'---java开发的皇甫军校')}"></p>
      <p th:text="${#strings.length(mystr)}"></p>
      <p th:text="${#strings.length('hello')}"></p>
      <!--unless假的时候才执行-->
      <p th:unless="${#strings.isEmpty(mystr)}">mystr不是空字符串</p>


  </div>
</body>
</html>

 (4)内置工具类: #lists 

模板utilObject.html:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
  <div style="margin-left: 300px">
     
      <br>
      <h3>内置工具类#lists,操作list集合</h3>
      <p th:text="${#lists.size(mylist)}"></p>
      <p th:if="${#lists.contains(mylist,'a')}">有成员a</p>
      <p th:if="!${#lists.isEmpty(mylist)}">list 集合有成员</p>


  </div>
</body>
</html>

 (5)null处理

 

控制器:

package com.bjpowernode.controller;

import com.bjpowernode.model.SysUser;
import com.bjpowernode.vo.Cat;
import com.bjpowernode.vo.Dog;
import com.bjpowernode.vo.Zoo;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.*;

@Controller
@RequestMapping("/tpl")  //放在类上方的这个注解会和@GetMapping一起组成完整的访问路径
public class ThymeleafController {

    

    //内置工具类对象
    @GetMapping("/utilobject")
    public String utilObject(Model model){
        model.addAttribute("mydate",new Date());
        model.addAttribute("mynum",26.695);
        model.addAttribute("mystr","bjpowernode");

        List<String> list=Arrays.asList("a","b","c");//使用Arrays的工具类创建集合
        model.addAttribute("mylist",list);


        //创建Zoo对象
        Zoo zoo=new Zoo();

        Cat cat=new Cat();
        cat.setName("短腿");

        Dog dog=new Dog();
        dog.setName("二哈");

        zoo.setCat(cat);
       // zoo.setDog(dog);  zoo.dog=null

        model.addAttribute("zoo",zoo);
        return "utilObject";
    }
}

模板utilObject.html:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
  <div style="margin-left: 300px">
    
      <br>
      <h3>处理null</h3>
      <!--当zoo。dog没有赋值,取的时候是null,通过添加一个问号就可以取的时候不报错,加?后name为空时不去取这个内容-->
      <p th:text="${zoo.dog?.name}"></p>
      <p th:text="${zoo.cat.name}"></p>
  </div>
</body>
</html>

如果不加?,会报错

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喵俺第一专栏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值