如何在Thymeleaf模板中获取环境变量的值?

时间:2015-07-26 20:42:54

标签: java spring thymeleaf

在Thymeleaf模板中,如何获取系统环境变量的值?

我想也许${@environment.getProperty('VariableName', 'DefaultVariableValue')}可行......但是;它似乎始终返回DefaultVariableValue,即使在环境中定义了VariableName

1 个答案:

答案 0 :(得分:0)

你在使用Spring吗?您可以从控制器中提取属性,将其插入到模型中,然后从Thymeleaf模板中引用模型值。或者,如果您不使用spring,请使用System.getProperty("variableName")获取系统属性。请参阅我的500页面中需要变量的示例。

@Controller
public class Error {

    @Value("${variableName}")
    private String variableName;

    @RequestMapping("/500")
    @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
    public ModelAndView internalServerError() {
        ModelAndView mav = new ModelAndView("error");
        mav.addObject("variableName", variableName);
        return mav;
    }
}

在模板中:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Nitro Error</title>
    <base th:href="${baseUrl}"/>
</head>
...
</html>