thymeleaf的常見問題匯總
1.thymeleaf th:href 多個參數傳遞格式
th:href="@{/Controller/update(param1=1,param2=${person.id})}"。就是使用逗號隔開多個參數!!!
thymeleaf的th:each常見用法
一.th:eath迭代集合用法:
<table border="1" id="stuTable">
<tr>
<td>是否選中</td>
<td>編號</td>
<td>姓名</td>
<td>年齡</td>
</tr>
<tr th:each="stu,userStat:${studentList}" >
<td><input th:type="checkbox" th:name="id" th:value="${stu.id}"></td>
<td th:text="${stu.id}">編號</td>
<td th:text="${stu.name}">姓名</td>
<td th:text="${stu.age}">年齡</td>
</tr>
</table>
二.迭代下標變量用法:
狀態變量定義在一個th:每個屬性和包含以下數據:
1.當前迭代索引,從0開始。這是索引屬性。index
2.當前迭代索引,從1開始。這是統計屬性。count
3.元素的總量迭代變量。這是大小屬性。 size
4.iter變量為每個迭代。這是目前的財產。 current
5.是否當前迭代是奇數還是偶數。這些even/odd的布爾屬性。
6.是否第一個當前迭代。這是first布爾屬性。
7.是否最后一個當前迭代。這是last布爾屬性。
用法實例:
<table border="1" id="stuTable">
<tr>
<td>是否選中</td>
<td>編號</td>
<td>姓名</td>
<td>年齡</td>
</tr>
<tr th:each="stu,userStat:${studentList}" th:class="${userStat.odd}?'odd':'even'">
<td th:text="${userStat.index}"></td>
<td><input th:type="checkbox" th:name="id" th:value="${stu.id}"></td>
<td th:text="${stu.id}">編號</td>
<td th:text="${stu.name}">姓名</td>
<td th:text="${stu.age}">年齡</td>
</tr>
</table>
3.thymeleaf 傳遞數據到js變量
如何把控制器傳來的model中的值傳遞給js變量呢?
需要以下兩個:
- <script th:inline="javascript">
- var message = [[${message}]]
1.controller
@RequestMapping(value = "message", method = RequestMethod.GET)
public String messages(Model model) {
model.addAttribute("message", "hello");
return "index";
}
2.not work
var m = ${message}; // not working
alert(m);
3.ok
<script th:inline="javascript">
/*<![CDATA[*/
var message = [[${message}]];
console.log(message);
/*]]>*/
</script>