我在前端使用
thymeleaf
并且我知道 variable
中的
thymeleaf
概念
<span th:with="var=${someValue}" th:text="${var}"></span>
如果我使用
th:text
,变量中的值将被打印,我可以在同一元素中使用该变量,有没有办法在其他元素中使用var
,例如
<span th:with="var=${someValue}"></span>
<span th:text="${var}"></span>
我需要向该变量提供
global scope
在百里香中可能吗?
在开头
var
标签中定义 body
<body th:with="var=${var_value}">
只有嵌套项才能看到变量。 Div 标签只是一个示例。您可以使用您想要的标签
<div th:with="var=${var_value}">
inside div tag var is visible.
</div>
thymeleaf 不支持全局变量,但可以通过内联 javascript 实现。
<script th:inline="javascript">
/*<![CDATA[*/
$(document).ready(function (){
var Value = /*[[${var_value}]]*/ '';
$("#ID").val(Value);
});
/*]]>*/
</script>
<input type="text" class="order-entry" id="ID" placeholder="" th:value="${''}" />
我在所有应用程序的视图中都有很多全局变量。 因此,我制作了可重新加载的
Properties
文件,并针对每个请求将所有道具放入 modelAndView
中,以便它们在任何视图中都可用:
public class MvcConfiguration implements WebMvcConfigurer {
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) {
if (modelAndView != null && !modelAndView.isEmpty()) {
modelAndView.addObject("view", AppConfig.viewProps);
// any other variable, e.g. logged user
}
}
在任何视图中访问它们:
${view.get('propsKey')}
Reloadable 帮助我在运行时进行更改,而无需重新启动应用程序。