7

私は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

そこで何がうまくいかないのですか?

ご協力いただきありがとうございます。

4

2 に答える 2

16

素晴らしい、偶然私は私の問題の解決策を手に入れました:

秘訣は、setLocaleタグのスコープパラメータをセッション:Dに設定すると、機能します^^ sweet :)

したがって、正しいコードスニペットは次のようになります。

<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"/>

わかりました。なぜそれが機能するのかはよくわかりませんが、プロジェクトの設定に関する詳細情報は次のとおりです。

  • Spring 3 Framework(MVC、セキュリティusw。)
  • および標準のアプリケーションとサーブレットのセットアップ
  • すべてがtomcat7で実行されるため、JSP2.2を使用します

それが役に立てば幸い。

于 2012-07-11T16:22:59.320 に答える
0

私も同じ問題を抱えていました。しかし、私はそれがプロパティファイルに関係していると思います。text.propertiesとtext_sv.propertiesの2つのプロパティファイルがあり、初期ロケールが「sv」以外の場合、jspファイルの任意の場所でfmt:setLocaleを使用して変更できました。ただし、初期ロケールが「sv」の場合、fmt:setLocaleは何もしませんでした。セッションが機能しません。

于 2016-04-22T22:38:26.943 に答える