Je suis aux prises avec un problème d'internationalisation dans l'une de mes applications. L'histoire se présente comme suit:Accéder à JSF SelectItem.Label et Value à partir de XHTML sans selectOneMenu
J'ai une datatable qui affiche les enregistrements, et un selectOneMenu dans l'ordre pour sélectionner une colonne de la table de données à filtrer. Le selectOne est alimenté avec SelectItems qui sont remplis en fonction des paramètres régionaux réels dans le bean backing à l'heure DataRefresh. Désormais, lorsque l'utilisateur modifie les paramètres régionaux, le contenu de selectOne reste dans l'ancien environnement local jusqu'à ce que la page soit rediffusée. C'est assez logique et attendu.
Bien sûr, je veux que cela change.
J'ai donc essayé d'écrire un selectOne qui utilise selectItems qui contiennent des références aux entrées languageFile afin de pouvoir les changer sans redendering.
Voici ce que j'ai essayé
<select id="j_id5:filterSelector" name="j_id5:filterSelector" size="1">
<c:forEach var="item" items="#{gridBean.filterFields}">
<option value="#{item.Value}">#{msg[item.Label]}</option>
</c:forEach>
</select>
Malheureusement JSF me dit l'article n'a pas de propriété label ou valeur qui je crois à peine. ;)
Est-ce que quelqu'un a une idée de comment accéder à ces propriétés de cette façon?
thx pour la réponse, je peux accéder aux propriétés maintenant. Mon d'oh. Je suis d'accord qu'un valueChangeListener serait le meilleur moyen d'aller . Je ne suis pas sûr de savoir comment l'intégrer dans mon application. Acually j'ai un LanguageSelectioBean qui affiche deux drapeaux qui changent les paramètres régionaux sur clic, via commandLinks. -> les liens de commande peuvent-ils déclencher un événement valueChange? Secondy mon datatable est un composant que j'utilise dans plusieurs emplacements dans mon application. Je ai besoin de l'étendre pour le faire écouter pour valueChanges et requery les fichiers de langue onValueChange, non? thx K – KB22