Flipper
2005-01-08, 02:18:44
Ich will über die Methode request.getParameter einen Array an Werten bilden, die ich per Formular bekomme (genauer gesagt aus einer Reihe von Checkboxen).
HTML-Schnipsel dazu:
<input type="checkbox" name="f_korrekt[]" value="o1">
<input type="checkbox" name="f_korrekt[]" value="o2">
Das funktioniert auch soweit ich das beurteilen kann, folgende Ausgabe der jeweils angekreuzten Werte funktioniert:
String paramValues[] = request.getParameterValues( "f_korrekt[]" );
if (paramValues!=null) {
for (int i = 0; i < paramValues.length; i++) {
out.println(paramValues[i]+"<br>");
//out.println(paramValues.get(i)+"<br>");
}
}
Das funktioniert wie gesagt. Wenn ich aber das zweite, oben kommentierte, out.println(paramValues.get(i)) auskommentiere, dann gibts eine NullPointer-Exception. Wieso das? Ist das kein Array, wenn nein - was dann? Wo find ich genauere Infos zu der Methode request.getParameterValues und ihrem Rückgabewert? Ich hab da (http://java.sun.com/j2se/1.4.2/docs/api/index.html) jedenfalls nix brauchbares gefunden, die Methode gibts aber offensichtlich doch sonst würds ja anders herum nicht funktionieren.
Was ich eigentlich will ist in Ruhe und Frieden überprüfen, was der User angeklickt hat und was nicht, und das schön und ordentlich in einem stinknormalem Array.
Ich fühle mich in meiner Programmierer-Ehre (falls es sowas gibt und ich sowas habe) gekränkt, wenn ich jetzt 50 Zeilen if (f_korrekt1a/b/c... = request.getParameter("f_korrekt1a"); usw. mache, wofür gibts Arrays!
Ich bin relativ neu bei JSP, bisher hab ich alles (und das war nicht grade wenig) in PHP gemacht.
Ach ja.. bietet die Klasse Array eigentlich keine vernünftigen Methoden an, um zu überprüfen, ob sie Wert X enthält? Oder bin ich zu blöd die richtige zu finden? Hab hier (http://java.sun.com/j2se/1.4.2/docs/api/java/lang/reflect/Array.html) und in der Umgebung jedenfalls nix gefunden, scheiss API :(
/edit: sorry für den relativ unsinnigen thread-titel, ich wollte mir noch einen besseren überlegen, hab ihn dann aber vorm "submit" drücken nicht mehr kontrolliert
HTML-Schnipsel dazu:
<input type="checkbox" name="f_korrekt[]" value="o1">
<input type="checkbox" name="f_korrekt[]" value="o2">
Das funktioniert auch soweit ich das beurteilen kann, folgende Ausgabe der jeweils angekreuzten Werte funktioniert:
String paramValues[] = request.getParameterValues( "f_korrekt[]" );
if (paramValues!=null) {
for (int i = 0; i < paramValues.length; i++) {
out.println(paramValues[i]+"<br>");
//out.println(paramValues.get(i)+"<br>");
}
}
Das funktioniert wie gesagt. Wenn ich aber das zweite, oben kommentierte, out.println(paramValues.get(i)) auskommentiere, dann gibts eine NullPointer-Exception. Wieso das? Ist das kein Array, wenn nein - was dann? Wo find ich genauere Infos zu der Methode request.getParameterValues und ihrem Rückgabewert? Ich hab da (http://java.sun.com/j2se/1.4.2/docs/api/index.html) jedenfalls nix brauchbares gefunden, die Methode gibts aber offensichtlich doch sonst würds ja anders herum nicht funktionieren.
Was ich eigentlich will ist in Ruhe und Frieden überprüfen, was der User angeklickt hat und was nicht, und das schön und ordentlich in einem stinknormalem Array.
Ich fühle mich in meiner Programmierer-Ehre (falls es sowas gibt und ich sowas habe) gekränkt, wenn ich jetzt 50 Zeilen if (f_korrekt1a/b/c... = request.getParameter("f_korrekt1a"); usw. mache, wofür gibts Arrays!
Ich bin relativ neu bei JSP, bisher hab ich alles (und das war nicht grade wenig) in PHP gemacht.
Ach ja.. bietet die Klasse Array eigentlich keine vernünftigen Methoden an, um zu überprüfen, ob sie Wert X enthält? Oder bin ich zu blöd die richtige zu finden? Hab hier (http://java.sun.com/j2se/1.4.2/docs/api/java/lang/reflect/Array.html) und in der Umgebung jedenfalls nix gefunden, scheiss API :(
/edit: sorry für den relativ unsinnigen thread-titel, ich wollte mir noch einen besseren überlegen, hab ihn dann aber vorm "submit" drücken nicht mehr kontrolliert