Resource.properties文件中的多行值?

时间:2014-02-20 11:22:23

标签: java jsf jsf-2

我在Resource.properties文件中有一个多行值:

TXT_ABOUT = first line \
second line \n \
third line. 

我在关于框中显示:

<h:outputText value="#{txt.TXT_ABOUT}"/> 

txt是通过faces-config.xml

定义的
<resource-bundle>
  <base-name>com.compayn.etcetc.Resources</base-name>
    <var>txt</var>
</resource-bundle>

但这对于这个问题并不重要。)

问题是:变量定义中的新行标记未显示在呈现的页面上,它们都在一行中。这个语法是否正常? \n好吗?

1 个答案:

答案 0 :(得分:4)

您必须在该行的末尾使用反斜杠(\)。这个问题已经被问到here

您的问题可能是因为HTML并不关心新行。如果要显示新行,则必须使用<br />标记。

您可以在属性文件中包含HTML代码,并使用escape="false"以避免在生成HTML时转义HTML代码。

TXT_ABOUT = first line<br />\
    second line<br />\
    third line.

JSF代码:

<h:outputText value="#{txt.TXT_ABOUT}" escape="false" />