在spring框架內使用Thymeleaf時,按照官方文檔的說明,在模板內會使用SpEL(spring expressionlanguage)代替OGNL,即可以使用前者約定的一系列表達式。
關於SpEL的說明,已經有很多的說明,官方的可見此頁面。本文是對其中“T”操作符(說明見此)實踐的示例,由T()表達式的使用,我們使用Thymeleaf模板引擎時,在html頁面中能夠使用類的靜態成員。
如以下的代碼內,示例了在<input>標籤、js代碼段內,對類的靜態方法的引用(當然,方法應該是public的),需要注意的是:按照文檔說明,大部分情況下,需要是完整的類名。
<!DOCTYPE html>
<html lang="zh-cmn-Hans" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8"/>
<title>T操作符-引用類的靜態成員</title>
</head>
<body>
<!-- 標籤內引用 -->
<div>
<input type="text" th:value="${T(java.util.Calendar).getInstance().getTime().toLocaleString()}" />
</div>
</body>
<script type="text/javascript" th:inline="javascript">
/*<![CDATA[*/
var g_strCurrentTime = /*[[${T(java.util.Calendar).getInstance().getTime().toLocaleString()}]]*/ '';
/*]]>*/
</script>
</html>
對類的靜態成員變量,其引用方式與上面的靜態方法也是一樣的。