运算符
- Controller测试类
@RequestMapping("/opreator")
public String opreator(Model model) {
model.addAttribute("sex", 1);
model.addAttribute("flag", true);
return "opreator";
}
- 前端页面
<!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>
内置对象
- Controller测试类
@RequestMapping("/inner")
public String inner(HttpServletRequest request, Model model, Integer id) {
model.addAttribute("username", "lisi");
request.getSession().setAttribute("data", "sessionData");
return "inner";
}
- 前端页面
<!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: 对数组或集合创建聚合的实用方法;
- Controller测试类
@RequestMapping("/function")
public String function(Model model) {
model.addAttribute("time", new Date());
model.addAttribute("data", "springboothelloworld");
return "function";
}
- 前端页面
<!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方法相似