SelectOneMenu (ComboBox) in JSF

Status
Nicht offen für weitere Antworten.

mayer

Aktives Mitglied
Ich will aus meinem ActionListener heraus den Anzeigewert der ComboBox verändern.

Ich habe es so versucht:

Code:
UIComponent f = context.getViewRoot().findComponent("formInput");
UIComponent p = f.findComponent("panelZbes");
UIComponent c = p.findComponent("panelZbes2");
      
UIInput besCombo = (UIInput) c.findComponent("besAnComboBox");
besCombo.setValue(besNr);

, jedoch funktioniert das nicht.

Kann mir jemand sagen wie ich das machen kann??

mfg manuel
 

KSG9|sebastian

Top Contributor
du musst den wert des managed beans ändern!

Ich nehm mal an das du das ganze so machst:

- Bean wird befüllt
- JSP-Seite wird "geladen"
- Auf der Seite werden JSF-Elemente dargestellt
- Elemente erhalten ihren Wert aus einen ManagedBean


Dann musst du den ManagedBean holen und darin den Wert ändern, dann wieder zurück leiten


ManagedBean:

Code:
faces-config.xml

<managed-bean>
  <managed-bean-name>mBean</managed-bean-name>
</managed-bean>

Action-Methode:

Object mBean = FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("mBean")

So müsste es eigentlich gehen...

dann mBean in die entsprechende Klasse casten und den Wert ändern
 

mayer

Aktives Mitglied
Danke für deine Antwort. Du hast mich leider falsch verstanden.

Ich fülle meine ComboBox von einem Bean aus, dass die entsprechenden Darstellungswerte enthält. In einem anderen Bean habe ich den ActionListener. Dieser soll auf ein bestimmtes Ereigniss hin von einen Darstellungswert auf einen anderen bereits existierenden Darstellungswert ändern.

z.B.:

Im comboBoxBean sind die Darstellungswerte 1,2,3,4.

Die ComboBox zeigt gerade 1 an. Der User drückt einen Button welcher einen ActionListener aufruft, welcher den Wert von 1 auf 3 ändert. Wie mache ich das.

Kann mir jemand helfen??

mfg manuel
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben