我试图打破显示在 <h:outputText
的 value 属性内的文本,如果我将文本直接放在 <h:outputText
的 value 属性中,效果很好。 ,但如果我在属性文件中放置相同的文本,它就会停止工作
这是文本的一个例子
A<br />B<br />C
这工作正常:
<h:outputText value="A<br />B<br />C" escape="false"/>
不起作用:
<h:outputText value="#{text.someText}" escape="false"/>
属性文件中的代码:
someText = A<br />B<br />C
我发现的唯一方法是包装
<h:outputText
与 <pre>
标签,但这还不够好,因为它改变了文本的字体,看起来很奇怪,无论如何我希望在处理属性文件时有一种 JSF 方法来实现换行b.t.w 我查看了以下链接,但它们对我没有好处
JSF h:outputText line break for long words within strings
Insert a line break inside p:commandButton
先谢谢了!
最佳答案
属性文件不需要包含 XML 转义的 HTML。属性文件不是由像 Facelets 文件这样的 XML 解析器解析的。只需将 HTML 纯文本放入属性文件中即可。
someText = A<br />B<br />C
那么你可以使用
<h:outputText value="#{text.someText}" escape="false" />
通常的方式。
关于jsf-2 - h :outputText with line break from resource bundle (properties files),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9273503/