Resource.properties 文件中的多行值?

Dan*_*jel 3 java jsf jsf-2

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

TXT_ABOUT = first line \
second line \n \
third line. 
Run Code Online (Sandbox Code Playgroud)

我在“关于”框中显示:

<h:outputText value="#{txt.TXT_ABOUT}"/> 
Run Code Online (Sandbox Code Playgroud)

(通过txt定义faces-config.xml

<resource-bundle>
  <base-name>com.compayn.etcetc.Resources</base-name>
    <var>txt</var>
</resource-bundle>
Run Code Online (Sandbox Code Playgroud)

但这对问题并不重要。)

问题是:变量定义中的新行标记未显示在呈现的页面上,全部在一行中。上面的这个语法好吗?是否\nOK?

Lau*_*ntG 6

您必须\在行尾使用反斜杠 ( )。这个问题已经在这里过了

您的问题可能是因为 HTML 不关心换行。如果你想显示一个新行,你必须使用<br />标签。

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

TXT_ABOUT = first line<br />\
    second line<br />\
    third line.
Run Code Online (Sandbox Code Playgroud)

JSF代码:

<h:outputText value="#{txt.TXT_ABOUT}" escape="false" /> 
Run Code Online (Sandbox Code Playgroud)