PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [jsf] Wert eines Textfelds innerhalb einer Datatable


Schwarzherz
23.12.2008, 10:46
Ich habe eine Datatable mit mehreren Zeilen (Produkte eines Webshops mit Name, Beschreibung, Preis, etc.). Darunter gibt es dann auch ein Textfeld pro Zeile in dem die Anzahl des zu bestellenden Produktes eingegeben wird. Wie kann ich nun auf einer Folgeseite die einzelnen Werte dieser Textfelder auslesen?


Tribal
01.11.2009, 17:31
Als Grundlage der DataTable steht in der BackingBean mit Sicherheit eine Collections. Wenn diese Collection aus zum Beispiel einer Anzeige-Klasse besteht, kannst du in dieser Klasse für deine InputText-Felder getter und setter bereit stellen. Nach dem Submit der Seite kannst du dann wiederum deine Liste durchgehen und die Werte abfragen.


public class dataEntry {
private String userText;

public dataEntry(userText) {
this.userText = userText;
}

public String getUserText() {
return userText;
}

public void setUserText(String userText) {
this.userText = userText;
}
}

public class BackingBean {
List<dataEntry> meineEintraege = new ArrayList<dataEntry>();

public BackingBean() {
meineEintraege.add(new dataEntry("Test 1"));
meineEintraege.add(new dataEntry("Test 2"));
meineEintraege.add(new dataEntry("Test 3"));
}

// Getter und Setter für die Collection
public List<dataEntry> getMeineEintraege() {
return this.meineEintraege;
}

public void setMeineEintraege(List<dataEntry> meineEintraege) {
this.meineEintraege = meineEintraege;
}
}

in der JSP hast du dann eine
<t:dataTable value="#{BackingBean.meineEintraege}" var="entry">
<t:inputText value="#{entry.userText}">
</t:dataTable>


Sollte alles sein.
Aber wahrscheinlich hast du die Antwort nach einem Jahr bereits^^