2011-07-25 23 views
0

私は自分のjspでforiegn通貨を表示しようとしていますが、apache fmt tag-libのformatnumberタグを使用して、迷惑メールデータを表示します。私はコンソールで印刷するときにコントローラの '動的通貨記号の値'が正しく表示されていることを確認できます。また、UTF-8とJSPページのエンコーディングと文字セットをUTF-8に明示的に設定します。ロケールの設定はトランザクションが有効な通貨であり、どのトランザクションも世界中のどの国でも見ることができます。JSpは外貨を迷惑メールとして表示します

formatnumberタグのバグがあるようですが、その代替方法は不明です。 mail-archives.apache.org/mod_mbox/tomcat-taglibs-user/200308.mbox/%[email protected]%3E このユーロと円をチェックしました。

私のjspのコード部分を貼り付けましたhttp://pastebin.com/eZAKKeJ9。私は何がタグに渡されているかを確認するためにブラウザを印刷してみました。そのため、迷惑行545は通貨で渡される書式番号を564行に伝えます。 およびハンドラhttp://pastebin.com/H21fdbZm。ブラウザをチェックして、デフォルトがUTF-8に変更されていることを確認しました。どんな助けもありがとうございます。 編集:スパムで2つ以上のリンクを投稿できません。あなたのコードから

+0

今後、外部リンクをソースコードに貼り付けないでください。質問に**関連するスニペット**をそのまま貼り付けてください。いいえ、1400行以上の完全なJSPファイルを貼り付けないでください。結果/問題に影響を与える関連するスニペットを貼り付けるだけです。最も理想的なのは、それに基づいてSSCCEを作成した場合です。つまり、問題を再現する最小限のコピー&ペースト&ペーストのコードスニペットです。 – BalusC

答えて

1

:Beanプロパティは、実際に非UTF-8文字を返したとき

currencySymbol="${txnFormBean.originalCurrencySymbol}" 

、この問題が発生する可能性があります。このキャラクターが生まれた場所で修正する必要があります。それはJavaファイルですか?ファイルがUTF-8として保存されていることを確認します。プロパティファイルですか?ユニコードエスケープシーケンスを使用していることを確認してください。データベースエントリですか?表がUTF-8を使用していることを確認してください。その他

+0

Balu、DB上の列はUTF-6.6.soに変換されたNvarchar2です。私は自分の応答オブジェクトでutf-16に設定を試み、urf-16でjspページを上書きしました。しかし、私のJSPには、デフォルトのiso-8519-1でエンコードされたページが含まれています。だから、バインディングの例外を吹き飛ばして、私はURLのマッピングに基づいてspring characterencodingフィルタを使ってみましたが、まだそれは吹いています。乗り物のフィルターエンコーディングのようなページエンコーディングのようです。これらの通貨は多くの場所で使用されているので、私のサービス層にはハードコードさえできません。何かヒント? –

関連する問題