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

Odpovedet emailem