bean:write mit locale Attribut

Brandon

Grünschnabel
Hi Leute,

ich arbeite mit Struts.
In einer JSP Seite iteriere ich mit dem <logic:iterate> Tag über eine Collection und verwende das <bean:write> Tag, um die einzelnen Attribute auszugeben. Eines dieser Attribute ist ein Datum, und dieses würde ich natürlich gern in dem Format ausgeben, welches der zur Zeit eingestellten Sprache entspricht. Das Locale Objekt ist standardmäßig unter Globals.LOCALE_KEY im Session Scope gespeichert.
Ich gebe also folgendes an:
<bean:write name="entries" property="datum" locale="org.apache.struts.Globals.LOCALE_KEY"/>

Es wird jedoch - egal welches Locale Objekt in der Session liegt - das
entsprechende Datum immer in folgender Formatierung ausgegeben: Thu Feb 17
17:49:18 CET 2005

Dies entspricht meiner Meinung nach keiner der von Java angebotenen
Varianten und stellt wohl so eine Art allgemeingültige Formatierung da.

Warum wird nicht mein Local Objekt aus der Session gelesen? Habe ich den
Sinn des Attributs locale falsch verstanden?

mfg
 
Hallo!

<bean:write> ist nicht so überfrachtet wie du denkst. Es gibt einfach nur ein bean aus. Das Lokale-Attribute wird dabei nicht beachtet.
<bean:message> dagegen hohlt einen Ressource-String, abhängig von der aktuellen Lokale.

Wenn du das Datum mit der Lokale formatieren willst, solltest du beim Füllen des beans die Lokale benutzen um das Datum direkt richtig in das bean reinzuschreiben.

Etwas aufwendiger wäre ein eigenes Tag zu schreiben, dass ein Datum zur Laufzeit mit der Lokale formatiert ausgibt. Schwierig ist das aber auch nicht.

Grüsse TrueSun
 
Hi TrueSun,

>>
<bean:write> ist nicht so überfrachtet wie du denkst. Es gibt einfach nur ein bean aus. Das Lokale-Attribute wird dabei nicht beachtet.
<<

Wenn Du Dir mal die struts-bean.tld anschaust, dann siehst Du, dass das <bean:write> Tag auch das locale Attribut auswertet. Ich habe mir extra die Sources von Struts geladen, um mir mal die WriteTag.java anzuschauen. Kurz gesagt: Es wird tatsächlich ausgewertet, aber nicht in dem Zusammenhang, wie ich es bräuchte. Ich habe mir nun schnell eine kleine TagLib geschrieben. Wenn man nicht alles selber macht ;-)

mfg
 

Neue Beiträge

Zurück