方式一
页面中或者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}]];