如何用outputText显示换行符?
我需要使用outputText
呈现换行符,以便我可以使用rendered
属性。 我试过了
<h:outputText value="<br/>" escape="false" />
但是它产生了exception
The value of attribute "value" associated with an element type "null" must not contain the '<' character.
这从Facelets来说确实是无效的,因为它在XML中是语法无效的。 您需要手动转义XML特殊字符(如<
, >
等)。
<h:outputText value="<br/>" escape="false" />
但是,您可以在模板文本中发送而不需要<h:outputText>
。
<br/>
为了有条件地呈现它,将其包装在例如<ui:fragment>
。
<ui:fragment rendered="#{bean.rendered}"><br /></ui:fragment>
<h:panelGroup>
也是有效的,因为它不会向HTML发送任何东西。
<h:panelGroup rendered="#{bean.rendered}"><br /></h:panelGroup>
JSF PAGE
<h:outputText value="#{car.crg}" escape="false" style="white-space: pre-wrap;word-wrap: break-word; " />
转义应该是false
并写入如下的bean Getter
方法
public String getCrg() { return crg.replace("<br/>", "<br />"); //return crg; }
您可以尝试将"<br />"
放入资源包中,然后从该资源包中获取值。