根据区域设置呈现货币符号
我有一个 JSP,其中包含一些以英镑为单位的货币金额。我希望从美国查看同一页面的人们看到 $ 符号而不是 £。 (暂时忘记这些值也应该被转换)。
我正在使用这个 JSTL 解决方案来设置区域设置,
<c:set var="language" value="${not empty param.language ? param.language : not empty language ? language : pageContext.request.locale}" scope="session" />
<fmt:setLocale value="${language}" />
该区域设置非常适合这样的输出字段:
<fmt:formatNumber type="currency" value="${myOutputAmount}" />
但也有一些输入字段在输入框之前有自己的 £,例如:
£<input type="text" id="myInputAmount"/>
如何使用该区域设置来显示相关货币符号而不是英镑?
我搜索并找到了针对 iPhone、PHP、android、C# 和 Java 的解决方案。我可以在 JSP 中实现 Java 解决方案,但 JSTL 解决方案非常简洁,我确信一定有一种简单的方法,可以利用它的工作原理。
I have a JSP with some monetary amounts in £s. I want people viewing the same page from the US to see $ symbol instead of £s. (Forget for a moment that the values ought to be converted as well).
I am using this JSTL solution to set the locale
<c:set var="language" value="${not empty param.language ? param.language : not empty language ? language : pageContext.request.locale}" scope="session" />
<fmt:setLocale value="${language}" />
which works perfectly for output fields like this:
<fmt:formatNumber type="currency" value="${myOutputAmount}" />
but there are also some input fields that have the £ on its own before the input box, e.g.:
£<input type="text" id="myInputAmount"/>
How can I use that locale to show the relevant currency symbol instead of £?
I have searched and found solutions for iPhone, PHP, android, C# and Java. I could implement a Java solution in my JSP but the JSTL one was so neat I'm sure there must be an easy way, tapping into however that works.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不幸的是没有 JSTL 标签来实现这一点。
在普通 Java 中,您可以通过
Currency#getSymbol()
如下:您可以将其包装在 Javabean getter、EL 函数或者可能是 (shudder) 中小脚本。您可以在 this 的底部找到如何创建 EL 函数的具体示例回答。
更新:您可以使用此“hack”从
中获取货币符号:There is unfortunately no JSTL tag for this.
In plain Java you could get it by
Currency#getSymbol()
as follows:You could wrap it around in a Javabean getter, an EL function or maybe a (shudder) scriptlet. You can find a concrete example of how to create an EL function near the bottom of this answer.
Update: you could use this "hack" to get the currency symbol out of a
<fmt:formatNumber>
: