我正在使用Spring Boot + Thymeleaf。我想将这样的内容国际化:
<p>Already registered? <span class="link">Log In</span></p>
如果我将th:text="#{prompt}"
添加到<p>
标记中,则内部span
将被属性值替换。
有什么方法可以将资源集中只有一个属性的<p>
元素的整个文本进行国际化? (也许有占位符,或者我不知道)
答案 0 :(得分:1)
您可以在属性值内为html标签添加占位符
属性:
prompt = Already registered? {0}Log In{1};
HTML:
<p th:utext="#{prompt('<span class=link>', '</span>')}"></p>
注意:我使用的是th:utext
而不是th:text
,因为它不能转义html。
但是,如果您仅具有两个不同的属性,那就更清楚了。例如:
<p>
<th:block th:text='#{prompt1}'></th:block>
<span class='link' th:text='#{prompt2}'></span>
</p>