i18n JSTL Verknüpfung mir der JAR. Wie?

Status
Nicht offen für weitere Antworten.

AyKay

Mitglied
Hallo zusammen

Thema Internationalisierung. (i18n)

im JSTL benutzt mein System:
Code:
<fmt:bundle basename="resources/bundles/i18n">
    <fmt:message var="thumbnailText" key="thumbnail.label" />
Den key 'thumbnail.label' finde ich in der Datei 'i18n_de.properties', die im Ordner
'resources/bundles' der JAR Datei 'WEB-INF/lib/i18n.jar' steht.

Das funktioniert auch fein. Diese Software ist jetzt Basis für ein neues Projekt.
Um jetzt neue projektbezogenen Texte und Labels einzuführen, habe ich eine neue
Datei 'ApplicationResources.properties' angelegt; jetzt im eigenen Projekt-Jar.

Wie kann ich JSTL jetzt sagen, daß da noch eine neue JAR Datei steht, deren Property
Dateien jetzt für Internationalisierung wichtig sind?

Einfaches Einbinden in WEB-INF/lib reicht jedenfalls nicht.

Bin für jeden Hinweis dankbar.

Gruß
André
 

HLX

Top Contributor
Wenn du weisst, in welchem Bundle welche Message steht, erzeugst du die Nachricht immer im entsprechenden Bundle, so wie du es in deinem obigen Code schon getan hast (<fmt:bundle>).
 

AyKay

Mitglied
HLX hat gesagt.:
Wenn du weisst, in welchem Bundle welche Message steht, erzeugst du die Nachricht immer im entsprechenden Bundle, so wie du es in deinem obigen Code schon getan hast (<fmt:bundle>).

Hi HLX

Danke für den Hinweis.

Tatsächlich habe ich das gemacht. Vielleicht nicht korrekt? Hier der Code:

Code:
<fmt:bundle basename="resources/bundles/i18n/i18n">
    <fmt:message var="titleText" key="publishLink.config.title" />

Mit einer Properties Datei in WEB-INF/lib/<PROJECT-NAME>.jar. Und zwar im Ordner /resources/bundles/i18n namens 'i18n.properties'.
Mit der entsprechenden Zeile:
publishLink.config.title=Just\ another\ title.

Die hieß bei einem anderen Versuch auch mal 'ApplicationResources.properties' (wie oben erwähnt).
Funzt alles nichts. Die Zuordnung JSTL-fmt:bundle zu <PROJECT-NAME>.jar fehlt mir. Die Zuordnung zu 'i18n.jar' scheint implizit da zu sein. Jedenfalls finde ich keine. Ein einfaches Kopieren der <PROJECT-NAME>.jar ins WEB-INF/lib reicht nicht aus.

Gruß
André

PS: Zur Not müssen wir die 'i18n.jar' anfassen und um einen Ordner mit den neuen Properties Dateien erweitern und bei jedem Build komplett neu erzeugen. Und uns bei einem Deploy einer neuen Version der Software, auf der wir aufsetzen, immer höllisch aufpassen, eine neue i18n.jar zu bekommen und vor dem Deploy anzupassen. Lebenslange Wartung wäre das. Nicht gut.
 

HLX

Top Contributor
Das JAR ist völlig irrelevant. Die Dateien sollten auf jeden Fall unterschiedlich heißen, sonst wird die zuerst gefundene geladen. Schau nochmal ob du es folgendermaßen implementiert hast:

1) i18n.jar:
resources/bundles/i18n/i18n.properties
Inhalt:
myFirstKey = bla

2) test.jar:
resources/bundles/i18n/appResources.properties
Inhalt:
mySecondKey = blubb

3) Beide JARs ins lib-Verzeichnis der Web-Anwendung.

4) JSP-Datei
Code:
<fmt:bundle basename="resources/bundles/i18n/i18n"> 
    <fmt:message var="first" key="myFirstKey" />
</fmt:bundle>
<fmt:bundle basename="resources/bundles/i18n/appResources"> 
    <fmt:message var="second" key="mySecondKey" />
</fmt:bundle>
 

AyKay

Mitglied
> Das JAR ist völlig irrelevant.

Das wäre ja super!

> Schau nochmal ob du es folgendermaßen implementiert hast:

Ja, genauso habe ich es gemacht. Also ganz konkret der letzte Stand ist:

Code:
<fmt:bundle basename="resources/i18n/bdficp">
		<fmt:message var="titleText" key="publishLink.config.title" />

Mit der Jar-Datei WEB-INF/lib/<PROJEKT-NAME>.jar und darin dem Ordner resources/i18n und der Datei bdficp_DE_de.properties mit der Zeile publishLink.config.title=Just\ another\ title.. Entspricht, glaube ich, Deinem Muster oben. Funzt leider nicht.

Keine Ahnung...
 

HLX

Top Contributor
Komisch, bin davon ausgegangen dass man sowas nicht braucht .Merkwürdig, das die JSTL da so ne Extrawurst fährt: de_DE... :autsch:

Vielleicht besorgst du dir mal den Source-Code deiner JSTL-Implementierung und debuggst das Tag. Dann siehst du genau, wie der Zugriff auf die Properties erfolgt und findest vielleicht auch dein Problem.
 

AyKay

Mitglied
Ja, das wäre eine Möglichkeit. Danke für Deine Unterstützung! Wenn ich doch noch fündig werde, poste ich das hier.
bis die Tage
A.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R JSP JSTL <x:if> <c:if> string vergleichen Web Tier 2
J JSP JSTL <c:url> - jsessionid auslesen Web Tier 1
C jstl: collection property auf mehrere seiten Web Tier 2
J JSP JSTL innerhalb Tag-Attribut Web Tier 3
A javax/servlet/jsp/jstl/core/Config Web Tier 1
ruutaiokwu jstl-basierendes tag in jsf 2.0. facelets/xhtml? Web Tier 5
H jstl variable setzen? Web Tier 9
W Java code aus JSP-File durch JSTL code ersetzen Web Tier 8
S JSTL - foreach Schleife ? Web Tier 3
P For-Schleife mit JSTL über ArrayList Web Tier 8
J JSTL-Vergleich (choose) innerhalb JSF-Datentabellen-Aufbau greift nicht Web Tier 4
L Struts JSTL Form Variable Übermitteln Web Tier 2
sliwalker forEach und Scriptlet: Daten aus Scriptlet in jstl sehen Web Tier 2
megachucky JSF - JSTL Library wird nicht gefunden Web Tier 4
T Per JSTL aus 0,45 --> 45 machen Web Tier 2
G [JAVA / JSP] ArrayList in JSTL foreach verarbeiten Web Tier 4
W JSTL SQL Driver? Web Tier 11
W JSTL macht Probleme Web Tier 6
G Mit JSTL Rückgabe von Bean Methode ausgeben Web Tier 3
G Session in Servlet Starten und mit JSTL auslesen Web Tier 2
A JSTL Tags funktionieren nicht in Facelets/MyFaces Web Tier 3
OSteNfanT Verzweifle an JSTL Web Tier 2
J Https Verknüpfung funktioniert nicht Web Tier 0

Ähnliche Java Themen

Neue Themen


Oben