# selectOneMenu - Problem



## internet (7. Apr 2010)

Hallo, 
ich möchte ein selectOneMenu in meiner JSF - Seite haben, die mir Datensätze aus meiner Datenbank holt.

Hier mein Ansatz:

```
<h:selectOneMenu id="kostenstellenlisteString" value="#{pv.kostenstellenlisteString}}">
    					<f:selectItems value="#{pv.kostenstellenliste}" />
					</h:selectOneMenu>
```




In der Bean:
private List<Kostenstelle> kostenstellenliste;
private String kostenstellenlisteString[];



Getter + Setter

```
public List<Kostenstelle> getKostenstellenliste() throws KostenstelleNotFoundException {
		kostenstellenliste = pvSpring.findAllKostenstellen();
		return kostenstellenliste;
	}


	public List<Kostenstelle> getKostenstellenliste() throws KostenstelleNotFoundException {
		kostenstellenliste = pvSpring.findAllKostenstellen();
		return kostenstellenliste;
	}
```



Die Liste wird auch angezeigt. Allerdings nicht so wie ich es will. Es wird glaube ich das Objekt angezeigt, aber ich will eben einen String ausgeben. 
Ich bekomme so etwas:


```
de.projekt.namedesProjekts.entity.Kostenstelle.@76565c
de.projekt.namedesProjekts.entity.Kostenstelle.@76595c
de.projekt.namedesProjekts.entity.Kostenstelle.@68555c
```

und so weiter.

Wie schaffe ich es, dass es mir die Zeichenkette des Objekts ausgibt?


----------



## internet (8. Apr 2010)

Ich habe das beschriebene Problem behoben! Es gibt mir nun eine Liste der Kostenstellen an!

Allerdings hab ich jetzt ein anderes Problem:
Ich möchte nun das ganze in ein String umwandeln!
Aber leider geht das noch nicht.
Kann mir hier jemand weiterhelfen....


----------



## JanHH (12. Apr 2010)

Was bedeutet "das ganze in ein String umwandeln" denn konkret?


----------



## MrWhite (12. Apr 2010)

f:selectItems kennt doch itemLabel und itemValue Eigenschaften?


----------



## MrWhite (12. Apr 2010)

Tja, f:selectItems hat das nicht. SEAM selectItems kennen das.

Also musst du wohl deine Liste noch im Code-Behind in eine Liste von SelectItems verwandeln oder aber einen JSF-Converter dafür schreiben oder aber im Markup auf einen Repeater ausweichen, der aus deiner Liste von Entities eine Liste von f:selectItem rausschreibt.

Die letztgenannte ist wohl die beste Methode (hier mit dem Facelets-Repeater)


```
<h:selectOneMenu value="#{pv.selectedKostenstelleId}"> 
<ui:repeat value="#{pv.kostenstellenliste}" var="kostenstelle">
    <f:selectItem itemValue="#{kostenstelle.id}" itemLabel="#{kostenstelle.name}"/>
</ui:repeat>
</h:selectOneMenu>
```

HTH,
MrWhite


----------



## internet (12. Apr 2010)

Ich habe es nun so gelöst, dass mir eine Liste mit den Kostenstellen angezeigt wird:



```
<h:outputLabel 	   value="#{msgPv['person.kostenstelle']} *"/>			
					<h:selectOneMenu   value="#{pv.kostenstellenlisteString}">
    					<f:selectItems value="#{pv.kostenstellenliste}" />
					</h:selectOneMenu>				
					<h:messages for="kostenstelle" errorClass="error"/>
```

*Allerdings bekomm ich diesen Fehler:*
*Conversion Error setting value '2280000' for 'null Converter'.  *


----------



## thommy.s (12. Apr 2010)

sieh mal hier nach:


http://jsfatwork.irian.at


Es scheint mir ein Problem mit dem Konverter zu sein. Auf der Seite findest du soweit alles, was man dafür braucht. Du wirst wohl noch einen solchen brauchen...

Gruß Thomas


----------

