How to display a line break with outputText?

前端 未结 3 1912
隐瞒了意图╮
隐瞒了意图╮ 2021-01-30 20:35

I need to render a line break using outputText so that I can utilize the rendered attributed. I tried



        
相关标签:
3条回答
  • 2021-01-30 21:04

    That's indeed not valid since Facelets because it's syntactically invalid in XML. You'd need to manually escape the XML special characters like <, > and so on.

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

    You can however just emit the <br/> in template text without the need for a <h:outputText>.

    <br/>
    

    To render it conditionally, wrap it in for example a <ui:fragment>.

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

    A <h:panelGroup> is also valid as it doesn't emit anything to the HTML anyway.

    <h:panelGroup rendered="#{bean.rendered}"><br /></h:panelGroup>
    
    0 讨论(0)
  • 2021-01-30 21:07

    You can try putting the "<br />" inside a resource bundle and then get the value from that resource bundle.

    0 讨论(0)
  • 2021-01-30 21:15

    JSF PAGE

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

    escape should be false and write the bean Getter method as follows

     public String getCrg() {
             return crg.replace("<br/>", "&lt;br /&gt;");
            //return crg;
        }
    
    0 讨论(0)
提交回复
热议问题