使用Grails internationalization messages.properties我正在尝试创建一个多行消息,但似乎找不到一种方法来创建一个不使用<br>
元素的新行,我更喜欢将表示逻辑保留在消息之外。我尝试过使用“\ n”但是没有渲染。
我知道我可以使用多条消息“message.1 = ...”,“message.2 = ...”,但这似乎也不干净。
以下是我希望能够做到的事情:
messages.properties
helptext=First Line\nSecond Line\nThird Line
page.gsp
<g.message code="helptext"/>
结果:
First Line
Second Line
Third Line
我发现的所有内容都说要使用<br>
元素,或者在\ n上执行replaceAll,但我希望不必使用额外的处理来处理它。
答案 0 :(得分:6)
我认为您必须直接在邮件中使用<br>
。
//messages.properties
helptext=First Line<br>Second Line<br>Third Line
//Gsp
<p><g:message code="helptext"/><p>
\
可以破坏属性文件中的行,但在视图中呈现为单行。
答案 1 :(得分:3)
对我来说(Grails 2.0项目中的i18n消息属性)按照以下行进行:
property = Line1 \\ nLine2 \\ nLine3
HTML标签BR如果在HTML页面上显示也很好,但对我来说没有任何好处,因为在我的情况下,这个文本需要是一个文本字符串而不是HTML。
答案 2 :(得分:2)
您可以编写一个自定义标记,将\ n转换为br标记。它只需要调用messageSource bean并解析结果。因此,您的消息不必是特定于HTML的