日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java自定义变量解析,Thymeleaf内置对象、定义变量、URL参数及标签自定义属性

發(fā)布時(shí)間:2025/3/8 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java自定义变量解析,Thymeleaf内置对象、定义变量、URL参数及标签自定义属性 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

如標(biāo)題所述,這篇文章主要講述Thymeleaf中的內(nèi)置對象(list解析、日期格式化、數(shù)字格式化等)、定義變量、獲取URL的參數(shù)和在頁面標(biāo)簽中自定義屬性的應(yīng)用。

如果對Thymeleaf的基本使用、maven依賴等不清楚的可以先閱讀我的另一篇文章《Thymeleaf 之 初步使用》。

Controller部份@Controller

public?class?IndexController?{

@GetMapping(value?=?"index")

public?String?index(Model?model,?HttpServletRequest?request)?{

List?datas?=?new?ArrayList();

datas.add("Form1");

datas.add("http://www.form1.cn");

datas.add("393156105");

model.addAttribute("datas",?datas);

model.addAttribute("curDate",?new?Date());

model.addAttribute("money",?Math.random()*100);

return?"index";

}

}

在這個(gè)控制器的Model中存放了這樣幾個(gè)數(shù)據(jù):一個(gè)String類型的列表、一個(gè)日期對象和一個(gè)數(shù)值,這些東西在實(shí)際應(yīng)用開發(fā)過程中應(yīng)用非常廣泛,下面具體看一下在Thymeleaf中是如何解析這些數(shù)據(jù)的。

日期格式化

說明: 使用內(nèi)置對象dates的format函數(shù)即可對日期進(jìn)行格式化,在format函數(shù)中,第一個(gè)參數(shù)是日期對象,對二兩個(gè)參數(shù)為日期格式(規(guī)則跟SimpleDateFormat一樣)

需要注意的是:·?內(nèi)置對象一般都以s結(jié)尾,如dates、lists、numbers等

·?在使用內(nèi)置對象是在對象名前都需要加#號(hào)。

數(shù)字格式化

說明: 此示例表示保留兩位小數(shù)位,整數(shù)位自動(dòng);

說明: 此示例表示保留兩位小數(shù)位,3位整數(shù)位(不夠的前加0)

獲取列表長度

說明: 使用#lists.size來獲取List的長度。

獲取URL參數(shù)值

說明: 當(dāng)訪問http://localhost:1105/index?page=5時(shí)頁面將會(huì)得到page對應(yīng)的值:5。

定義變量

當(dāng)前頁碼:

說明: 同樣,當(dāng)訪問http://localhost:8888/index?page=5時(shí),頁面將顯示:當(dāng)前頁碼:5,說明用th:with來定義變量,多個(gè)用,號(hào)隔開,使用范圍在當(dāng)前標(biāo)簽內(nèi)。

自定義標(biāo)簽屬性

在Thymeleaf中可以使用th:加上標(biāo)簽的任何屬性進(jìn)行賦值,但有些時(shí)候會(huì)遇到自定義的屬性,再用th:加自定義的屬性則會(huì)無效。比如:需要對標(biāo)簽增加objName和objId這樣的屬性,在非Thymeleaf情況下是這樣:

變量情況是:

在Thymeleaf下則是:

說明: 在頁面上查看源代碼可以看到:,說明自定義屬性用:th:attr,多個(gè)屬性用,隔開。

thymeleaf對于checked屬性的判斷對于屬性是有些特定值的,比如checked屬性,thymeleaf都采用bool值,比如th:checked=${user.isActive}

這里,user.isActive=false時(shí)應(yīng)該checked是不會(huì)出現(xiàn)這個(gè)attr的。

總的來說thymeleaf是不錯(cuò)的,但內(nèi)聯(lián)不是太好用,經(jīng)常js的alert的時(shí)候,不得不把后半個(gè)括號(hào)換一行,如alert("aaa"?+?/*[[#{message}]]*/'message');

這種情況,會(huì)把后面的);都刪掉所以只能寫成

alert("aaa"?+?/*[[#{message}]]*/'message'

);

內(nèi)置對象

上面簡單描述了比較常用的dates、lists、numbers這幾個(gè)內(nèi)置對象,在Thymeleaf還有很多的內(nèi)置對象,像strings也非常常用,用法跟Java.lang.String類的用法一樣。

在Thymeleaf中的內(nèi)置對象有:

#dates:日期格式化內(nèi)置對象,具體方法可以參照java.util.Date;

#calendars:類似于#dates,但是是java.util.Calendar類的方法;

#numbers: 數(shù)字格式化;

#strings:字符串格式化,具體方法可以參照java.lang.String,如startsWith、contains等;

#objects:參照java.lang.Object;

#bools:判斷boolean類型的工具;

#arrays:數(shù)組操作的工具;

#lists:列表操作的工具,參照java.util.List;

#sets:Set操作工具,參照java.util.Set;

#maps:Map操作工具,參照java.util.Map;

#aggregates:操作數(shù)組或集合的工具;

#messages:操作消息的工具。

總結(jié)

以上是生活随笔為你收集整理的java自定义变量解析,Thymeleaf内置对象、定义变量、URL参数及标签自定义属性的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。