<4>thymeleaf运算符、内置对象、自带的功能方法

运算符

  1. Controller测试类
@RequestMapping("/opreator")
    public String opreator(Model model) {
        model.addAttribute("sex", 1);
        model.addAttribute("flag", true);

        return "opreator";
    }
  1. 前端页面
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>运算符</title>
</head>
<body>
<!--
三元运算符: 表达式 ? 正确 : 错误
运算符: + - * / %
关系运算符: > < >= <=(gt, lt, ge, le)
相等判断: == !=(eq, ne)
-->
<h2>三元运算符</h2>
<div th:text="${sex eq 1 ? '' : ''}">xx</div>
<div th:text="${sex == 1 ? '' : ''}">xx</div>

<h2>算术运算符</h2>
20+5=<span th:text="20+5">25</span><br>
20-5=<span th:text="20-5">15</span><br>
20*5=<span th:text="20*5">100</span><br>
20/3=<span th:text="20/3">6.6循环</span><br>
20%3=<span th:text="20%3">2</span><br>

<h2>关系比较</h2>
5>2<span th:if="5 gt 2"></span><br>
5<2<span th:unless="5 lt 2"></span><br>

<span th:if="${sex eq 1}"></span>
</body>
</html>

内置对象

  1. Controller测试类
@RequestMapping("/inner")
    public String inner(HttpServletRequest request, Model model, Integer id) {
        model.addAttribute("username", "lisi");
        request.getSession().setAttribute("data", "sessionData");
        return "inner";
    }
  1. 前端页面
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>thymeleaf内置对象</title>
</head>
<body>
<h2>从session获取值</h2>
<span th:text="${#session.getAttribute('data')}"></span><br>
<span th:text="${#httpSession.getAttribute('data')}"></span><br>
<span th:text="${session.data}"></span><br>
1
<hr>
<script type="text/javascript" th:inline="javascript">
    // http://localhost:8080/test
    //协议名称
    var scheme = [[${#request.getScheme()}]];

    //服务器名称
    var serverName = [[${#request.getServerName()}]];

    //服务器端口号
    var serverPort = [[${#request.getServerPort()}]];

    //上下文根
    var contextPath = [[${#request.getContextPath()}]];

    var allPath = scheme + "://" + serverName + ":" + serverPort + contextPath;
    alert(allPath); // http://localhost:8080


    //获取请求路径(不带参数)
    var requestURL = [[${#request.requestURL}]];
    //获取请求参数
    var queryString = [[${#request.queryString}]];
    alert(requestURL);// http://localhost:8080/inner
    alert(queryString);//id=1
</script>

</body>
</html>

功能方法

内置对象一般以警号开头

#dates: java.util.Date对象的实用方法:
	<span th:text="S{#tdates.format(curDate, 'yyyy-MM-dd HH:mm:ss')}"></span>ttcalendars:和dates类似,但是 java.util.Calendar对象;
#numbers: 格式化数字对象的实用方法;
#stings: 字符串对象的实用方法:contains, startsWith, prepending/appending 等;ttobjects:对objects操作的实用方法;
#bools: 对布尔值求值的实用方法;#arrays:数组的实用方法;
#lists: list的实用方法,比如<span th:text="${lists.size(datas)}"></span>#sets: set的实用方法;
#maps: map 的实用方法;
#aggregates: 对数组或集合创建聚合的实用方法;
  1. Controller测试类
@RequestMapping("/function")
    public String function(Model model) {
        model.addAttribute("time", new Date());
        model.addAttribute("data", "springboothelloworld");
        return "function";
    }
  1. 前端页面
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>功能方法</title>
</head>
<body>
<div th:text="${time}"></div>
<div th:text="${#dates.format(time, 'yyyy-MM-dd HH:mm:ss')}"></div>
<div th:text="${data}"></div>
<!--
    substring(srg, start, end): [start, end)
-->
<div th:text="${#strings.substring(data, 0, 10)}"></div>
</body>
</html>

某些功能方法与java方法相似

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值