J'ai besoin de rendre un saut de ligne à l'aide de outputText
pour pouvoir utiliser l'attribut rendered
. j'ai essayé
<h:outputText value="<br/>" escape="false" />
mais cela a généré une exception
The value of attribute "value" associated with an element type "null" must not contain the '<' character.
Ce n'est en effet pas valable depuis Facelets car il est syntaxiquement invalide en XML. Vous devez échapper manuellement les caractères spéciaux XML comme <
, >
etc.
<h:outputText value="<br/>" escape="false" />
Vous pouvez cependant émettre simplement le <br/>
dans le texte du modèle sans avoir besoin d'un <h:outputText>
.
<br/>
Pour le rendre conditionnellement, enveloppez-le par exemple dans un <ui:fragment>
.
<ui:fragment rendered="#{bean.rendered}"><br /></ui:fragment>
UNE <h:panelGroup>
est également valide car il n'émet de toute façon rien au format HTML.
<h:panelGroup rendered="#{bean.rendered}"><br /></h:panelGroup>
PAGE JSF
<h:outputText value="#{car.crg}" escape="false" style="white-space: pre-wrap;Word-wrap: break-Word; " />
escape doit être false
et écrire la méthode bean Getter
comme suit
public String getCrg() {
return crg.replace("<br/>", "<br />");
//return crg;
}
Vous pouvez essayer de mettre le "<br />"
à l'intérieur d'un groupe de ressources, puis obtenez la valeur de ce groupe de ressources.