# Attribute in Objektliste nach gecheckten Checkboxen setzen



## schlumsch (27. Okt 2008)

Hallo,

erstmal ein   für mein Topic ... aber nun direkt zu diesem:

Ich habe in jsf eine Datatable, welche mir eine ArrayList läd.
Die gespeicherten Objekte haben u.a. ein bool-Attribut und je nach
dessen Ausprägung wird in jsf eine Checkbox angezeigt.

Nun möchte ich folgendes erreichen:
Der User kann die Checkboxen (de)aktivieren,
und dementsprechend wird der bool des entsprechenden
Objektes ins bean zurück geschrieben.

Bislang habe ich nur eine Setie auf der nur die Attribute eines Objektes
geändert werden können, das funktioniert soweit gut Da ich nun aber
eine Liste von Objekten in meiner Tabelle ausgebe müsste ich ja der
Checkbox zumindest auch noch die Objektid mitgeben, s.d. auch der bool
des richtigen Objektes gesetzt wird.

Wie kann ich dies bewerkstelligen?? Gibt es die Möglichkeit beim
setzen der Checkbox mehrere Properties im Bean anzusprechen?
(bei mir wäre dies "FAQBean.inputActiveBoolean" und "FAQBean.id")
Hier mal ein Auszug aus meinem Code:

jsf, xhtml:

```
...

<h:selectBooleanCheckbox id="inputActive" value="#{FAQBean.inputActiveBoolean}" immediate="true" valueChangeListener="#{FAQBean.test}" onchange="this.form.submit( );">
</h:selectBooleanCheckbox>
```

FAQBean:

```
public void test(ValueChangeEvent event) {
	System.out.println(this.inputActiveBoolean);
	   FacesContext.getCurrentInstance( ).renderResponse( );

	
}
```


Thx schonmal, und lg


----------



## pusteblume (6. Dez 2008)

hallo schlumsch,

hast du dein problem lösen können? wenn ja, wie hast du das gemacht? 

ich bin eher newbie was struts, jsp und das ganze angeht. ich schätze, ich habe deine fragestellung nicht ganz verstanden und trotzdem klingt sie aber so, wie mein problem. 

und zwar habe ich folgendes: 
über ein logic:iterate generiere ich mir eine liste mit checkboxen, von denen einige aktiv sind. das funktioniert auch alles so, wie ich das möchte. *juhu* 
jetzt soll als nächster schritt kommen, dass beim submit, die ids oder sonstwas der aktiven checkboxen an eine bean wieder übergeben werden, damit ich damit eine abfrage über hybernate an meine datenbank durchführen kann. aber ich habe keinen schimmer, wie ich den checkboxen diese id zuweise... es gibt die eigenschaft "indexed", wodurch im generierten html-code ids für die checkboxen gegeben werden, die wohl aus dem iterate kommen. aber das sind dann meines erachtens nur laufende nummern und keine id's der eigentlichen objekte. 

in deinem code-schnipsel machst du folgendes:


```
<h:selectBooleanCheckbox id="inputActive" ...
```

kommt das inputActive aus einer bean und ist das dann quasi dynamisch? kann ich da die entsprechende property meiner bean angeben, wo meine objekt-ids drin sind, die ich für die db-abfrage benötige, angeben? und bei mir heißt es html:checkbox. welche version von struts verwendest du? 

für jede anregung bin ich sehr dankbar.

schönen nikolaus,
pusteblume


----------



## schlumsch (10. Dez 2008)

Hallo,

also ich arbeite mit jsf und richfaces, also nicht mit jsp. Gelöst habe ich mein Problem, indem ich den Eventlistener aus meinem Code direkt an das entsprechende Objekt gehangen habe. Sprich in meiner Liste werden Objekte vom Typ A angezeigt, und die Klasse A hat nun diesen Listener. Im Prinzip arbeitet das ganze wie oben beschrieben. Wenn es dir etwas bringt kann ich dir den Code gerne mal posten... sag einfach bescheid.

lg schlumsch


----------



## Guest (10. Dez 2008)

hallo schlumsch,

also ich hab das jetzt ganz einfach lösen können:

```
<html:checkbox name="ObjectBean" property="checked" value="${ObjectBean.id}"/>
```

Das funktioniert einwandfrei. Mit 


```
String [] result;
result = request.getParameterValues("checked");
```

lese ich die IDs mir erstmal in ein String[] wo ich sie dann weiterverwursteln kann.

jsf und richfaces sind für mich keine alternative, da meine masterarbeit auf jsp, struts und hibernate aufbauen soll. 

trotzdem vielen dank für das angebot des codes posten.

lg pusteblume


----------



## schlumsch (10. Dez 2008)

kay, lg & frohes fest


----------

