繁体   English   中英

Thymeleaf 使用来自 messages.properties 文件的动态值构造 URL

[英]Thymeleaf construct URL with dynamic values from messages.properties file

我正在尝试使用 messages.properties 文件使用 thymeleaf 构建动态 url 但无法正常工作。 我正在尝试使用 messages.properties 文件中的内容在 URL 以下构建。

<a href="https://10.247.30.152/utility" target="_blank">Click Here</a>

messages.properties

dev.node=10.247.30.152
fs.node = 10.245.39.153

我只想将 IP 用于不同的不同 href,内容的 rest 应该保持在 href 中

<a href="https://#{dev.node}/utility" target="_blank">Click Here</a>
<a href="https://#{fs.node}/utility" target="_blank">Click Here</a>

使用 thymeleaf 我们可以从 messages.properties 文件中获取数据并将其添加到 href 中,但它不起作用。

<a th:href="@{'https://'+ #{dev.node}+ '/utility'}" target="_blank">Click Here</a>

还有其他方法吗?

有几种方法可以处理这个问题。

首先,只需对模板进行很少的修改,即可使用${@environment.getProperty('dev.node')}

第二种,也是我的首选,是将属性添加到 controller 中的 model,然后您就可以在模板中访问该属性。 这是一个示例,假设您的视图名为someView.html

@Value("${dev.node}")
private String devNode;

@GetMapping
public String getView(ModelAndView modelAndView) {
    modelAndView.addObject("devnode", devNode);
    return "someView";
}

然后您可以使用${}语法简单地访问该属性,例如${devnode}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM