web-dev-qa-db-ja.com

outputTextで改行を表示する方法は?

outputText属性を使用できるように、renderedを使用して改行をレンダリングする必要があります。私は試した

<h:outputText value="<br/>" escape="false" />

しかし、それは例外を生成しました

The value of attribute "value" associated with an element type "null" must not contain the '<' character. 
41
Thang Pham

Faceletsからは、XMLでは構文的に無効であるため、実際には無効です。 <>などのXML特殊文字を手動でエスケープする必要があります。

<h:outputText value="&lt;br/&gt;" escape="false" />

ただし、<br/>を必要とせずに、テンプレートテキストで<h:outputText>のみを送信できます。

<br/>

条件付きでレンダリングするには、<ui:fragment>などでラップします。

<ui:fragment rendered="#{bean.rendered}"><br /></ui:fragment>

<h:panelGroup>もHTMLに何も出力しないため有効です。

<h:panelGroup rendered="#{bean.rendered}"><br /></h:panelGroup>
90
BalusC

JSFページ

<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;
    }
5
akhil

"<br />"リソースバンドル内で、そのリソースバンドルから値を取得します。

0
Jaime Garcia