# JSP Problem -unbestimmte Anzahl von Werten Transportieren



## MadBlue (9. Feb 2012)

Hallo Zusammen,

ich hab da eine noobige Frage zum transportieren von Werten in JSP...

wir basteln hier eine kleine MVC Anwendung, nix arg aufregendes...
Dort haben wir klassisch views (also JPS Datein mit dem klassischen HTML Code), Applikationen (JSP Dateien welche die Werte aus den Views empfangen, an in die beans schreiben usw.)

nun habe ich eine view in welcher ich zum Eingeben von Werten ein Form habe. Die Form gibt die Werte mit der Methode post an meine Applikation...

Soweit sogut... die Form wird aber dynamisch erstellt, ich weiß also nie, wie viele Input Felder ich in der Form habe... gibt es da eine einfache Lösung wie ich die Werte in der empfangenden Applikation trotzdem alle abfangen kann? (So das sie in einem Vector, einer Collection oder sonst wo landen?)

Das wäre echt sau gut... ich fummel mir da momentan einen ab.


(PS. wenn jemand einen Crash-Kurs für JSF kennt würde ich mich über eine Empfehlung freuen!)

Sören


----------



## SlaterB (9. Feb 2012)

vor jeder JSP sollte grundsätzlich immer ein Servlet stehen oder je nach Framework eine vergleichbare Komponente,
im Servlet kommt ein HttpServletRequest an, zu dieser Klasse kann man alle Methoden nachschauen:
HttpServletRequest (Java EE 6 )
(auch im übergeordneten Interface ServletRequest)

dort also die Parameter extrahieren und in irgendeine Form gießen die in der JSP sauber verarbeitet werden kann,

oder eben umständlich im JSP auf den Request zugreifen, das geht glaube ich auch, 
allerdings kann ich persönlich keine Details nennen und auch nicht selber testen

gibt natürlich auch Suchmaschinen für all die bekannten Stichwörter
Request Object In JSP


----------



## MadBlue (9. Feb 2012)

Danke, das ist schon mal ein Ansatz...

das mit den Servlets wurde bei uns an der Uni noch nicht behandelt... da les ich mich eben mal ein!

Sören


----------



## HimBromBeere (9. Feb 2012)

Wo gibt´s denn sowas? JSP VOR Selvlets lernen? Das stell ich mir eklig vor, aber scheint ja auch zu gehen. 
Wie auch immer, das mit den Servlets würd´ ich dir auch empfehlen.


----------



## MadBlue (9. Feb 2012)

ich glaub die Servlets sind im Lehrplan nicht mal vorgesehen...

wir fangen werte momentan mit request.getParameter ab... der braucht aber einen String und lässt sich nur einem bestimmten Parameter zuweisen...
ich könnte naürlich auch den JSP Code an der stelle dynamisch erzeugen, ABER ich glaube das ist dann kein MVC mehr und der Prof. wird böse mit mir 

Sören


----------



## SlaterB (9. Feb 2012)

statt request.getParameter() gibt es eben noch mehr request-Methoden, getParameterNames() etwa


----------



## MadBlue (9. Feb 2012)

Jau, das habe ich auch gerade entdeckt...

mit parameter-names und ner while-schleife müsste sich was bauen lassen!

besten Dank!

Sören


----------



## MadBlue (10. Feb 2012)

Ich nochmal...

immer wenn ich auf eine Unterfunktion von getParameterNames zugreifen will bekommter leider den Koller... da wärs echt gut wenn hier nochmal jemand einen blick drauf werfen kann...

zB.

int anzahl = request.getParameterNames().length;

da bekomm ich den Error "An error occurred at line: 99 in the jsp file: /jsp/CategoriesOverAppl.jsp
length cannot be resolved or is not a field"

und request.getParameterNames().nextElement().toString() an sich scheint er wohl zu verstehen... aber als while Parameter ist das leider auch nicht geeignet...

(ziel ist es mittels einer while schleife alle Parameter in einem Vector (oder einer Collection) zu speichern...)

Sören


----------



## SlaterB (10. Feb 2012)

wenn nextElement() geht, ist es wohl kein Array, also kein length,

was du mit der while-Schleife meinst, musst du noch genauer sagen, Code, Fehlermeldung?


----------



## MadBlue (10. Feb 2012)

Sorry, ich hab mich selber etwas verschossen... ich habe übersehen das in dem beispiel welches ich als vorlage genommen habe das Array erst in eine Enumeration übernommen wurde... dem tu ich nun gleich und probiere es nochmal...

EDIT;
In der Tat, so funktioniert es ausgezeichnet!
Natürlich besten Dank für die flotte Reaktion!


----------

