Thymeleaf字符串替换和转义

时间:2013-06-07 14:53:31

标签: java spring thymeleaf

我有一个包含原始数据的字符串,我希望将其转义。该字符串还包含我想用span标签替换的标记。

例如我的字符串是

“blah {0}某事要跨越{1}< random chars<”

我希望在div中呈现上述内容,并将{0}替换为{0}并将<1}替换为

我尝试了很多东西,包括在我的控制器中进行替换,并尝试使用 th:utext 属性,但是我得到了SAX异常。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

你可以用i18n吗?

类似的东西:

resource.properties:

string.pattern=my name is {0} {1}

thymeleaf观点:

<label th:text="#{__${#string.pattern('john', 'doe')}__}"></label>

结果应为:

my name is john doe

我不确定这是一个好方法。但我希望它可以帮助你

答案 1 :(得分:1)

看起来使用消息参数是输出格式化字符串的正确方法。见http://www.thymeleaf.org/doc/usingthymeleaf.html#messages

我怀疑你需要传递字符实体引用以避免SAX异常

<span th:utext = "#{string.pattern(${'&lt;span&gt;john&lt;/span&gt;'}, ${'&lt;span&gt;doe&lt;/span&gt;'})}"/>

或者将标记放在.properties文件中:

string.pattern=my name is <span>{0}</span> <span>{1}</span>