【发布时间】:2018-05-25 23:53:17
【问题描述】:
我正在努力实现国际化,我有以下 html 标记。
<p th:text= "${your_amount(${it.vm.getAmount})}"></p>
生成html为
<p>Your Amount is: $</p>
Your Amount is: $ 正是我的国际化字符串。
理想的结果应该是。
<p>Your Amount is: $123.24</p>
it.vm.getAmount 不会被执行。我检查了getAmount 内部是否存在以下值
<p th:text="${it.vm.getAmount}"></p>
这给了我一个结果
<p>123.24</p>
thymeleaf 在渲染时是否认为"$" 是一个特殊字符,有没有办法解决这个问题?
【问题讨论】:
-
什么是
your_amount?它是一种格式化本地化文本和数量的方法吗?如果是这样,请包含该方法的完整代码。如果不是,请进一步解释.. -
不,它只是我的 .properties 文件中的一个国际化字符串常量。没有格式。
-
在这种情况下,语法出现错误。你试过
${your_amount}\$${it.vm.getAmount}之类的吗? -
感谢 Jim 我刚刚给出的表达方式,并且 thymeleaf 向该语句抛出了 TemplateProcessingException。我也不认为我使用的表达是不正确的。我在我的 sn-p 中多次成功地使用了相同的表达式。我相信这与 : $ 在我的字符串中的存在有关。我可能会删除它并试一试。