2012-05-30 5 views
7
Deutsch zu forma

Ich bin verwirrt mit dem jstl Tag Libs:SetLocale nicht in jsp Seite arbeitete Währung in

ich eine Zahl in eine Währung mit Deutsch Stil formatiert werden soll ... aber alles versucht, ich habe nicht arbeitete ...

fand ich das folgende Beispiel, aber der Ausgang ist der gleiche -.-

<%@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> 

Und das ist die Ausgabe:

Currency in USA $40.52 

Currency in Germany $40.52 

was geht da schief?

danke für Ihre Hilfe.

+0

Ich kopiere 'n eingefügt Ihre JSP und versuchte es, und bekam * Währung in USA 40,52 $; Währung in Deutschland 40,52 € * als Folge. Vielleicht ein JDK/JRE-Problem? –

+0

Welche Art von Problemen könnte das mit dem JDK oder Ire sein? – conscience

+0

Ich weiß es nicht. Ein i18n.jar fehlt oder so etwas. –

Antwort

16

Awesome, zufällig habe ich die Lösung für mein Problem:

Der Trick ist, den Umfang-Parameter des setLocale Tag Sitzung zu setzen: D und dann funktioniert es ^^ süß :)

Also der richtige Code-Schnipsel wie folgt aussieht:

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

Ok, ich weiß wirklich nicht, warum es funktioniert, aber hier sind einige weitere Informationen über mein Projekt Setup:

  • Frühling 3 Framework (MVC, Sicherheit usw.)
  • und eine Standard-Anwendung und Servlet-Setup
  • alles in tomcat läuft 7 so verwende ich JSP 2,2

Hoffe, es hilft.

+1

Ich habe das gleiche Problem (Ich benutze Spring MVC 3.1.4 mit Tomcat). Wenn ich in den Bereich auf "page" oder "request" setze, funktioniert es nicht für die , die eine Zeile darunter liegt. – Kacper86

0

Ich hatte das gleiche Problem. Aber ich denke, es hat mit Property-Dateien zu tun. Ich hatte 2 Eigenschaftendateien, text.properties und text_sv.properties, und wenn das anfängliche Gebietsschema irgendein anderes als "sv" war, konnte ich es mit fmt ändern: setLocale irgendwo in meinen jsp-Akten. Aber als das ursprüngliche Gebietsschema 'sv' war, tat fmt: setLocale nichts. Session funktioniert nicht ..