sfr*_*frj 5 java jsf currency java-ee
我使用JSF的2.0标准转换器标签来格式化一些数字输出作为货币.但我有一点问题,我不知道如何将欧元符号放在输出的末尾.
这就是我做的:
<h:outputText value="#{payment.amount}">
<f:convertNumber type="currency" currencySymbol="€"/>
</h:outputText>
Run Code Online (Sandbox Code Playgroud)
我得到的输出是:
€15.55
但是所需的输出是:
15,55€
有人可以就如何解决这个小问题给我建议吗?
Bal*_*usC 12
格式取决于视图的区域设置.区域设置可以通过两种方式设置.
通常由标签的locale属性<f:view>:
<f:view locale="#{bean.locale}">
Run Code Online (Sandbox Code Playgroud)具体来说,标签的locale属性<f:convertNumber>:
<f:convertNumber type="currency" currencySymbol="€" locale="#{bean.locale}" />
Run Code Online (Sandbox Code Playgroud)目前还不清楚您所针对的区域设置,但使用,分数分隔符和货币€ 之后的位置是典型的德国(de-DE),法国(fr-FR)和葡萄牙(pt-PT).所以你需要设置它:
<f:convertNumber type="currency" currencySymbol="€" locale="pt-PT" />
Run Code Online (Sandbox Code Playgroud)
它也可以从java.util.Localebean属性中获得.