从控制器替换文本并将其放在属性文件
中我已经拥有的东西:
我的控制器:
redirectAttrs.addFlashAttribute("userName", "Hello, " + someForm.getName() + " nice to meet you.");
我的百里香
<p class="text-danger" th:text="${userName}">userName</p>
我知道我可以轻松使用我的属性:
我的message.properties:
user.name =汤姆
我的百里香:
<a th:text="#{user.name}"></a>
但如果里面有价值,我可以达到我想要的吗?
我的user.name =你好,{name}很高兴见到你。
我想做这样的事情:
在我的控制器中:
redirectAttrs.addFlashAttribute("userName", someForm.getName());
在我的百里香中:
<a th:text="#{user.name(name=${userName})}"></a>
这甚至可能吗?在这样的情况下,百里香最终应该是什么样的?
答案 0 :(得分:1)
更改您的属性值,如下所示:
user.name=Hello, {0} nice to meet you.
然后传递userName,如下所示:
<a th:text="#{user.name(${userName})}"></a>
规则是您可以使用{0}, {1}, {2}, .... {n}
在您的媒体资源中添加多个变量。您可以传递th:text="#{user.name(${param0},${param1},${param2}, ..., ${paramN} )}"