Vazeni kolegove,
narazil jsem na nasledujici asi trivialni problem, se kterym si nevim
rady: Mam JSF managed bean finance, ktery ma v sobe amount (BigDecimal)
a amountUnit (string, obsahuje symbol meny, zadany uzivatelem, napr.
"Kc", "$", apod., nejsou to ISO kody). Potrebuji tuto hodnotu zobrazit.
Primocare jsem napsal:
<h:outputText value="#{finance.amount}">
<f:convertNumber type="currency"
currencySymbol="#{finance.amountUnit}" />
</h:outputText>
A vysledek mi penezni jednotku nezobrazi (je tam jenom velikost, tj.
hodnota amount). Kdyz ale udelam
<h:outputText value="#{finance.amount}">
<f:convertNumber type="currency" currencySymbol="Kc" />
</h:outputText>
Tak vysledek (ale chybne) vsude zobrazi "Kc", kdyz zobrazim neco jako
<h:outputText value="#{finance.amount}">
<f:convertNumber pattern="###,##0.00" />
</h:outputText>
<h:outputText value=" #{finance.amountUnit}" />
tak vysledek dostanu (ale je to ohavny kod, navic v nekterych locale asi
chybne formatovany).
V cem je problem? Podle javadoc by convertNumber v atributu
currencySymbol melo vzit ValueExpression.
Dekuji za kazdou radu.
Mirek