Pergunta

Tentando manter todo o material de apresentação no xhtml neste projeto e eu preciso formatar alguns valores em uma tag selectItem ter um valor BigDecimal e necessidade de fazer com que pareça moeda. Existe uma maneira de aplicar um <f:convertNumber pattern="$#,##0.00"/> Dentro de um tag <f:selectItem>?

Qualquer maneira de fazer isso ou uma solução que não envolve empurrando esta no código java?

Foi útil?

Solução

Depois de fazer mais algumas pesquisas aqui estou bastante convencido de que isso não é possível com a implementação atual do JSF. Não há apenas uma oportunidade para transformar o valor.

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

O TLD mostra a propriedade itemLabel como sendo um ValueExpression eo conteúdo do corpo de <f:selectItem> como sendo vazio. Portanto, nada é permitido a existir um dentro dessas marcas, e o rótulo tem que apontam para um valor literal no modelo de Java. Assim tem ser ser formatado saindo do modelo de Java.

Outras dicas

sendo um novato para jsf Eu tive um problema semelhante, talvez a minha solução é útil, talvez não no "espírito jsf"

i acaba de criar uma taglib personalizado e estendido a classe (no meu caso org.apache.myfaces.component.html.ext.HtmlCommandButton) e overrided os setters para aplicar parâmetros personalizados.

então ao invés de <t:commandButton/> i usado <mytags:commandButton/>, que é tão flexível quanto eu quero.

Você poderia configurar um conversor com esse padrão, mas que soa como o oposto ao que você quer.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top