Domanda

Sto cercando di mantenere tutto il materiale di presentazione nell'xhtml di questo progetto e ho bisogno di formattare alcuni valori in un tag selectItem che abbia un valore BigDecimal e debba farlo sembrare una valuta.C'è comunque da applicare a <f:convertNumber pattern="$#,##0.00"/> All'interno di un <f:selectItem> etichetta?

Un modo per farlo o una soluzione che non implichi l'inserimento di questo nel codice Java?

È stato utile?

Soluzione

Dopo aver effettuato ulteriori ricerche qui, sono abbastanza convinto che ciò non sia possibile con l'attuale implementazione di JSF.Semplicemente non c'è l'opportunità di trasformare il valore.

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

Il tld mostra il itemLabel proprietà come a ValueExpression e il contenuto corporeo di <f:selectItem> come vuoto.Quindi non è consentito che esista nulla all'interno di uno di questi tag e l'etichetta deve puntare a un valore letterale nel modello Java.Quindi deve essere formattato uscendo dal modello Java.

Altri suggerimenti

essendo un principiante di jsf ho avuto un problema simile, forse la mia soluzione è utile, forse non è nello "spirito jsf"

ho appena creato una taglib personalizzata ed esteso la classe (nel mio caso org.apache.myfaces.component.html.ext.HtmlCommandButton) e ho sovrascritto i setter per applicare parametri personalizzati.

quindi invece di <t:commandButton/> ero solito <mytags:commandButton/>, che è flessibile quanto voglio.

Potresti impostare un convertitore con quel modello, ma sembra esattamente l'opposto di quello che desideri.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top