Bonjour,

j'ai du texte à ajouter en fonction de la langue de l'utilisateur. J'ai donc un fichier .properties quelque part au milieu de mes classes.

ce fichier .properties contient les valeurs suivantes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
page1Partie1Champ1ProprieteA = Texte 1
page1Partie1Champ2ProprieteA = Texte 2
page1Partie1Champ2ProprieteB = Texte 3
et je souhaite le transformer, pour des questions de lisibilité, de maintenance et de compatibilité avec notre programme de localisation en un fichier ressemblant à peu près à ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
page1.partie1.champ1.proprieteA = Texte 1
page1.partie1.champ2.proprieteA = Texte 2
page1.partie1.champ2.proprieteB = Texte 3
L'accès actuel se fait donc comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
<f:loadBundle basename="chemin.vers.Messages" var="bundle" />
<h:outputText value="#{bundle.page1Partie1Champ1ProprieteA}" />
Rien de bien sorcier.

Si cela ne posait pas de problème j'utiliserais bien :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
<f:loadBundle basename="chemin.vers.Messages" var="bundle" />
<h:outputText value="#{bundle.page1.partie1.champ1.proprieteA}" />
Mais bien entendu, cela ne fonctionne pas : j'obtiens une erreur "500 Bean: java.lang.String, property: label". Je comprends le raisonnement sous-jacent (trouver la propriété "label" depuis la classe "String" qui n'existe pas, bien entendu), mais comment contourner celui-ci ?

Et donc comment utiliser cette dernière portion de code dans un fichier JSF normal ?