Pregunta

Intento mantener todo el material de presentación en xhtml en este proyecto y necesito formatear algunos valores en una etiqueta selectItem que tenga un valor BigDecimal y necesito que parezca moneda.¿Hay alguna forma de aplicar un <f:convertNumber pattern="$#,##0.00"/> Dentro de una <f:selectItem> ¿etiqueta?

¿Alguna forma de hacer esto o una solución alternativa que no implique insertar esto en el código Java?

¿Fue útil?

Solución

Después de investigar un poco más aquí, estoy bastante convencido de que esto no es posible con la implementación actual de JSF.Simplemente no existe la oportunidad de transformar el valor.

http://java.sun.com/javaee/javaserverfaces/1.2/docs/tlddocs/f/selectItem.html

El tld muestra el itemLabel propiedad como un ValueExpression y el contenido corporal de <f:selectItem> como si estuviera vacío.Por lo tanto, no se permite que exista nada dentro de una de estas etiquetas, y la etiqueta debe apuntar a un valor literal en el modelo Java.Por lo tanto, se debe formatear según el modelo Java.

Otros consejos

siendo principiante en jsf, tuve un problema similar, tal vez mi solución sea útil, tal vez no esté en el "espíritu jsf"

Acabo de crear una taglib personalizada y extendí la clase (en mi caso org.apache.myfaces.component.html.ext.HtmlCommandButton) y anulé los configuradores para aplicar parámetros personalizados.

entonces en lugar de <t:commandButton/> solía <mytags:commandButton/>, que es tan flexible como quiero.

Podrías configurar un convertidor con ese patrón, pero suena exactamente lo contrario de lo que quieres.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top