有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

我想也许${@environment.getProperty('VariableName', 'DefaultVariableValue')}会有用。。。然而它似乎总是返回DefaultVariableValue,即使在环境中定义了VariableName


共 (1) 个答案

  1. # 1 楼答案

    你在用弹簧吗?您可以从控制器中提取属性,将其插入模型,然后从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>