有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

资源中的java多行值。属性文件?

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

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

我正在“关于”框中显示:

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

(通过faces-config.xml定义txt

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

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

问题是:变量定义中的新行标记不会显示在呈现的页面上,而是全部显示在一行中。上面的语法正确吗?{}可以吗


共 (1) 个答案

  1. # 1 楼答案

    必须在行尾使用反斜杠(\)。这个问题已经被提出了

    你的问题可能是因为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" />