Ich habe Probleme mit einem kleinen Internationalisierungsproblem in einer meiner Apps. Die Geschichte geht so:Zugriff auf JSF SelectItem.Label und Value von XHTML ohne selectOneMenu
Ich habe eine Datentabelle, die Datensätze anzeigt, und ein selectOneMenu in der Reihenfolge , um eine Spalte der Datentabelle auszuwählen, nach der gefiltert werden soll. Die selectOne ist gefüttert mit SelectItems, die entsprechend der tatsächlichen Gebietsschema in der Backing Bean auf DataRefresh Zeit gefüllt sind.
Jetzt, wenn der Benutzer das Gebietsschema ändert, bleibt der Inhalt von selectOne im alten Gebietsschema , bis die Seite neu gerendert wird. Dies ist ziemlich logisch und erwartet.
Natürlich möchte ich das ändern.
So habe ich versucht, eine eigene selectOne schreiben, die selectItems die Verweise auf Sprachdatei-Einträge, um sie ändern, ohne rerendering zu können, enthalten verwendet.
Hier ist, was ich
versucht<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>
Leider JSF sagt mir das Element kein Label oder Value-Eigenschaft hat, die ich kaum glauben. ;)
Hat jemand eine Idee, wie man auf diese Weise auf diese Eigenschaften zugreifen kann?
thx für die Antwort, ich kann jetzt auf die Eigenschaften zugreifen. Mein d'oh. Ich stimme zu, dass ein WertChangeListener wäre der bessere Weg zu gehen. Ich bin mir nicht sicher, wie ich es in meine App integrieren soll. Ich habe eine LanguageSelectioBean, die zwei Flags anzeigt, die das Gebietsschema beim Klicken ändern, über CommandLinks. -> können Links über command ein valueChange-Ereignis auslösen? Secondy meine Datentabelle ist eine Komponente, die ich in mehreren Standorten in meiner App verwende. Ich muss es erweitern, um es zu hören für valueChanges und requery die Sprachdateien onValueChange, richtig? thx K – KB22