setLocale的没有在JSP网站的工作在德国格式化货币(SetLocale did not wo

2019-07-29 16:08发布

我很困惑与JSTL标记库:

我想格式化了一些与德国式的货币......但我什么都试过没有工作...

我发现下面的例子,但输出是一样的-.-

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core"
      prefix="c" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/fmt"
      prefix="fmt" %>

<html>
<head>
    <title>format number</title>
</head>
<body>
    <c:set var="val" value="40.52" />
    <p> Currency in USA
    <fmt:setLocale value="en_US"/>
    <fmt:formatNumber value="${val}"
              type="currency" />
    </p>

    <p>Currency in Germany
    <fmt:setLocale value="de_DE"/>
    <fmt:formatNumber value="${val}"
              type="currency"/>
    </p>
</body>
</html>

和多数民众的输出:

Currency in USA $40.52

Currency in Germany $40.52

哪里出了问题呢?

谢谢你的帮助。

Answer 1:

真棒,一个偶然的机会,我得到了解决我的问题:

关键是要设定的范围参数setLocale标签会话:d,然后它的作品^^甜:)

所以,正确的代码片段是这样的:

<c:set var="val" value="40.52" />
<p> Currency in USA
<fmt:setLocale value="en_US" scope="session"/>
<fmt:formatNumber value="${val}"
          type="currency" />
</p>

<p>Currency in Germany
<fmt:setLocale value="de_DE" scope="session"/>
<fmt:formatNumber value="${val}"
          type="currency"/>

好吧,我真的不知道为什么它的工作原理,但这里是我的项目设置一些更多的信息:

  • 春季3框架(MVC,安全usw.)
  • 和一个标准应用程序和servlet设置
  • 每一件事情在Tomcat中运行,7所以我用JSP 2.2

希望能帮助到你。



Answer 2:

我有同样的问题。 但我认为这与属性文件做。 我有2个属性文件,text.properties和text_sv.properties,当最初的语言环境是比“SV”任何其他我可以用FMT改变:在任何地方我的JSP的文件的setLocale。 但是,当最初的语言环境是“SV”,FMT:setLocale的什么也没做。 会议doen't工作..



文章来源: SetLocale did not work in jsp site to format currency in german