Как отобразить разрыв строки с помощью outputText? - PullRequest
41 голосов
/ 26 июля 2010

Мне нужно визуализировать разрыв строки, используя outputText, чтобы я мог использовать атрибут rendered.Я пытался

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

, но это сгенерировало исключение

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

Ответы [ 3 ]

90 голосов
/ 26 июля 2010

Это действительно недопустимо со времен 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>

A <h:panelGroup> также допустимо, поскольку оно ничего не передает в HTMLв любом случае.

<h:panelGroup rendered="#{bean.rendered}"><br /></h:panelGroup>
5 голосов
/ 29 июля 2015

JSF PAGE

<h:outputText value="#{car.crg}" escape="false" style="white-space: pre-wrap;word-wrap: break-word; " />

escape должно быть false и написать метод bean Getter следующим образом

 public String getCrg() {
         return crg.replace("<br/>", "&lt;br /&gt;");
        //return crg;
    }
0 голосов
/ 26 июля 2010

Вы можете попробовать поместить "<br />" в комплект ресурсов, а затем получить значение из этого комплекта ресурсов.

...