如何用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="&lt;br/&gt;" 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/>", "&lt;br /&gt;"); //return crg; } 

您可以尝试将"<br />"放入资源包中,然后从该资源包中获取值。