# SelectOneMenu (ComboBox) in JSF



## mayer (8. Aug 2005)

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

Ich habe es so versucht:


```
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 (8. Aug 2005)

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:


```
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 (8. Aug 2005)

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


----------



## mayer (8. Aug 2005)

Jetzt geht's plötzlich. Warscheinlich habe ich die falschen Werte genommen.


----------

