2011-01-24 35 views
19

Estoy usando etiquetas h: outputText para mostrar datos de solo lectura. Ej:JSF: h: outputText; ¿Cómo mostrar un guion cuando el valor es cadena vacía?

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

Cuando "phoneNumber" es una cadena vacía o un valor nulo, quiero mostrar un guión "-" como valor.

¿Hay alguna manera fácil de hacer esto tal vez con el lenguaje de expresiones o algo así?

Por cierto, pensé en agregar métodos a la clase de usuario como getPhoneNumberDisplayText() que podría hacer el control internamente, pero como es un problema de vista, prefiero mantener el código en la página JSF.

Respuesta

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

O, usted podría hacer una nueva outputText:

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

sólo tiene que utilizar 'empty'. Cubre cadena 'nula' y cadena vacía. '# {vacío foo.property? '-': foo.property} 'o de otra manera,' # {no está vacío foo.property? foo.property: '-'} '. – BalusC

+0

@BalusC esto no funciona para el método 'set'' Ilegal Syntax for Set Operation'. ¿hay solución para eso? – Darshana

Cuestiones relacionadas