Sto scrivendo un'applicazione JSF (ICEfaces) utilizzando i pacchetti di risorse per gestire l'internazionalizzazione.Impostazione locale di formattazione in virgola mobile per JSF/ICEfaces?
L'applicazione applica in modo appropriato le impostazioni internazionali "nl" (predefinito) per il pacchetto di risorse, ma non applica le stesse impostazioni internazionali sulla formattazione di numeri in virgola mobile, anche se imposto esplicitamente le impostazioni internazionali per una pagina utilizzando <f:view locale="nl">
.
Come faccio a fare in modo che i numeri in virgola mobile seguano le impostazioni locali correnti?
un piccolo test mi ha mostrato che un semplice " " sufficiente già nel mio caso. Sono perplesso sul motivo per cui JSF non formatta di default un float per le impostazioni locali correnti, ma la tua soluzione funziona come un incantesimo. Grazie! –
Timo
'outputText' probabilmente non ha alcun supporto diretto per i numeri; verrà assegnato un oggetto (ad esempio 'java.lang.Double') e richiamato' toString' su di esso in uscita. Anche un 'inputText' non avrà alcun supporto diretto; su input di una stringa, il linguaggio di espressione lo costringe a raddoppiare secondo le sue regole per la coercizione di tipo. Per una logica più complessa, è necessario un convertitore. Questo è un modello potente, in quanto è possibile convertire da/a qualsiasi tipo senza richiedere il controllo di input/output per supportare la conversione. – McDowell
Hai ragione! Il problema è nell'implicito Java Float.toString() che non considera le impostazioni locali (anche del sistema operativo). il tag dice efficacemente all'outputText di utilizzare una conversione di stringhe con impostazioni locali. –
Timo