web-dev-qa-db-fra.com

JSF: h: outputText; comment afficher un tiret lorsque la valeur est une chaîne vide?

J'utilise des balises h: outputText pour afficher des données en lecture seule. Ex:

<h:outputText value="Phone Number:" />
<h:outputText value="#{userHandler.user.phoneNumber}" />

Lorsque "phoneNumber" est une chaîne vide ou une valeur nulle, je veux afficher un tiret "-" comme valeur.

Y a-t-il un moyen facile de le faire, peut-être avec un langage d'expression ou quelque chose?

BTW, j'ai pensé à ajouter des méthodes à la classe User comme getPhoneNumberDisplayText () qui pourraient faire la vérification en interne, mais comme c'est un problème d'affichage, je préfère garder le code dans la page JSF.

22
user550738
<h:outputText value="#{userHandler.user.phoneNumber != null 
    ? userHandler.user.phoneNumber : '-'}" />

Vous pouvez également créer un nouveau outputText:

<h:outputText rendered="#{userHandler.user.phoneNumber == null}" value="-" />
51
Bozho