Tymeleaf 讀取常量

方式一:頁面中或者js中直接獲取後臺常量類,如以下的代碼內,示例了在<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">
	<!-- js內引用 -->
    var g_strCurrentTime = [[${T(java.util.Calendar).getInstance().getTime().toLocaleString()}]] '';
</script>
</html>

方式二:在後臺配置全局常量(後臺爲Spring Boot框架)
需要的依賴

<!-- SpringBoot集成thymeleaf模板 -->
<dependency>
 	<groupId>org.springframework.boot</groupId>
 	<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

常量配置類

@Configuration
public class ThymeleafConfig {
	@Resource
    private void configureThymeleafStaticVars(ThymeleafViewResolver viewResolver) {
        if(viewResolver != null) {
            Map<String, Object> vars = new HashMap<>();
            vars.put("GLOBAL_USER_TYPE_ADMIN", UserConstants.USER_TYPE_ADMIN);
            vars.put("GLOBAL_USER_TYPE_SERVICE_PROVIDER", UserConstants.USER_TYPE_SERVICE_PROVIDER);
            vars.put("GLOBAL_USER_TYPE_MERCHANT", UserConstants.USER_TYPE_MERCHANT);
            viewResolver.setStaticVariables(vars);
        }
    }
}

在頁面中使用:

<div th:case="${GLOBAL_USER_TYPE_SERVICE_PROVIDER}" class="form-group">    
</div>

在js中使用:

var type =  [[${GLOBAL_USER_TYPE_SERVICE_PROVIDER}]];
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章