Servlet/Struts: Zugriff auf Inputfeld-array (key:value) (Warenkorb)

mephiztophelez

Grünschnabel
Ich habe ein Warenkorb JSP welches mehrere Zeilen mit Inputfeldern hat.

Code:
<td><input type="text" name='cartProduct[24]' value='3' maxlength="2" size="2"  /> </td>
<td>Produkt6</td>
<td>1</td>


</tr>

<tr>

<td><input type="text" name='cartProduct[31]' value='1' maxlength="2" size="2"  /> </td>
<td>Produkt2</td>
<td>1</td>


</tr>

wobei hier die Zahl 24 bzw. 31 fuer die ArtikelID steht und der value ist die Anzahl im Warenkorb.

Wie kann ich diese Variable nun in einer Action auslesen?

In PHP war das ganz einfach mit
Code:
foreach($array as $key => $value)
{

}
zu realisieren, aber irgendwie bekomme ich es in Java nicht hin auf diese Key:Value paar zuzugreifen. Auf die Variable komme ich doch mit request.getParameter("cartProduct") oder? Aber was ist das dann? Ein String[]? Problem ist, dass ja nicht alle Indizes durchweg existieren, da sie ja die Artikelnummern sind und man ja immer nur einige davon im Warenkorb hat.

Als workaround wuerde ch es so machen, dass ich die inputfelder mit

<html:text indexed="true"> erstelle und zusaetzlich noch ein <html:text index="true" > mache, welches die ArtikelID speichert. Ich finde die andere Loesung ohne das zusaetzliche Hiddenfeld irgendwie besser.

Was meint ihr?
Wuerde mich ueber einen Tip freuen.

Vielen Dank
Christoph
 
Hallo Christoph,

ich bräuchte ein Eingabefeld für Ringgrößen, hab mal dein Warenkorb ausprobiert, aber die Ringgröße wird dann nicht auf meiner Bestellseite bzw. im Warenkorb angezeigt, hab schon ne Menge ausprobiert, funktioniert einfach nicht.... Muss doch dann was auf der basket.htm oder Buy.htm verändert, damit der Wert mit aufgenommen wird, oder?
Gruß
Simone
 
Hallo,

mach dich mal ein wenig mit dem struts-Konzept vertraut. Was du suchst ist eine ActionForm, eine Javaklasse, die nach dem Abschicken des Formulars die Werte der Form enthält.

Grüsse TrueSun
 

Neue Beiträge

Zurück