Java 1
  • Home
  • Tutorials
    • Hello World
      • Download
      • Installation unter Windows
      • Installation unter Linux
      • Das Hello World Programm
      • Mehr Java
    • Java Konsole
      • Java Konsole Testen
    • Basic Java
      • Java Programme
        • Die Klasse
        • Datentypen
        • Null
        • Casten
        • Operatoren
        • Kontrollstrukturen
        • Arrays
        • Aufgaben
      • Objektorientierte Konzepte
        • Hallo Fenster
        • Objekte einer Klasse
        • Vererbung
        • Interfaces
      • Alles über Klassen
        • Abstrakte Klassen
        • Methoden überschreiben
        • Super
        • Final
        • Innere Klassen
        • Anonyme Klassen
        • Enumerations
      • You're just an object
        • Sichtbarkeit
        • Druckdarstellung
        • Gleichheit
        • Klonen
        • Die Class
        • Serialisierung
    • Java Api
      • Dokumentation
      • Strings
      • Wrapper Klassen
      • System und Runtime
      • Math
      • Exceptions
      • IO
      • Sammlungsklassen
      • AWT und Swing
      • Alle Komponenten
      • Applets
      • Threads
      • Jar
      • Classpath
    • JSP und Servlets
      • Meine erste JSP
        • Downloads
        • Installation unter Windows
        • Installation unter Linux
        • Admin und Manager
        • Webapplication
      • JSP
        • Java Code in HTML einbinden
        • Das HTTP Request - Response Modell
        • Request und Response Objekte
        • Auswerten von Formulardaten
        • Aufgaben
      • Beans
        • Die Session
        • Weitere vordefinierte Objekte
        • Java-Beans
        • Beans programmieren
        • Java-Beans in JSP nutzen
        • Aufgaben
      • Servlets
        • Nutzen der Servlets
        • Servlets programmieren
        • Servlets auf dem Server einrichten
        • Servlets mit JSP
        • Servlets includen
        • Aufgaben
      • Webapplikation
        • Filter
        • Initialisierungsparameter
        • Error Pages
        • Passwortgeschützte Verzeichnisse
        • Bibliotheken nutzen
        • Eine Webapplikation deployen
        • Ausblick: Wie geht's weiter?
        • JSP-Tags Syntaxreferenz
        • Aufgaben
  • Code
    • Web
      • Datenbankverbindungen mit Tomcat
      • Texte richtig encoden
      • HTTPS mit Tomcat
      • HTML Encoden mit Javascript
    • Java
      • Print F
      • Ein generischer Poolbuilder
      • Native Bibliotheken
      • Unique Ids
    • Java FX
      • Balls
      • Hearts
      • Planner
    • Java ME
      • The Next Big Thing
    • System
      • Vi Kommandos
  • Sidemap
  • Impressum
  • Hilfe
Home > Tutorials > JSP und Servlets > JSP > Auswerten von Formulardaten
  • Home
  • Tutorials
    • Hello World
    • Java Konsole
    • Basic Java
    • Java Api
    • JSP und Servlets
      • Meine erste JSP
      • JSP
        • Java Code in HTML einbinden
        • Das HTTP Request - Response Modell
        • Request und Response Objekte
        • Auswerten von Formulardaten
        • Aufgaben
      • Beans
      • Servlets
      • Webapplikation
  • Code
  • Sidemap
  • Impressum
  • Hilfe

Auswerten von Formulardaten

Daten aus HTML Formularen werden von Tomcat in das request Objekt gepackt. Dabei ist es unerheblich, ob die Daten mit GET oder POST gesendet wurden. Sie habe Zugriff auf die Formdaten mit:

request.getParameter("paramName");

Bitte verwenden Sie nicht request.getAttribute("aName"), Attribute sind etwas anderes, dazu kommen wir noch.

Bitte betrachten Sie nun das Beispiel form_simple.jsp und öffnen Sie den Sourcecode in ein anderes Browserfenster. Betrachten wir das Beispiel:

In den Zeilen 12 bis 18 steht das Eingabeformular:

Code: /bsp/kap1/form_simple.jsp

  
Ja, ich möchte den Newsletter erhalten!
Dies ist meine E-Mail Adresse:



Wie Sie sehen, wird das Formular mit POST an dieselbe Seite geschickt. Die Checkbox hat den Namen "yes", das Eingabefeld für die E-Mail Adresse den Namen "mail".

Da das Formular an dieselbe Seite geschickt wird, müssen wir unterscheiden, ob das Formular oder die Antwort auf die Eingabe anzuzeigen ist. Das passiert in Zeile 4: Wenn die Seite nicht mit POST aus dem Formular aufgerufen wurde, sind alle Parameter null, anderenfalls ist der Parameter "mail" nicht null, denn ein Input-Feld wird immer gesendet. Wenn es keinen Text enthält, ist sein Wert ein leerer String ("").

Code: /bsp/kap1/form_simple.jsp

<% 
  if (request.getParameter("mail")==null) {
  // Parameter "mail" nicht gefunden; wir zeigen das 
  // Formular an.
%>

Die Zeilen 25 ff enthalten die Reaktion auf die Formulareingabe. Selbstverständlich überprüfen wir die eingegebenen Werte und geben dem User ein Feedback zu seiner Aktion:

Zunächst überprüfen wir die Checkbox. Wenn eine Checkbox nicht ausgewählt ist, wird sie nicht gesendet, daher ist der Parameter in diesem Fall null. On the fly geben wir eine Reaktion aus. Wenn das soweit ok ist, nehmen wir uns den Parameter "mail" nochein mal vor.

Code: /bsp/kap1/form_simple.jsp

  // Eingabe überprüfen
  if (request.getParameter("yes")== null) {
    // Checkbox wurde nicht angezeigt; der Browser sendet das Feld nicht
    out.println(" Schade, dass Sie unseren Newsletter nicht wollen!");
  } else if (request.getParameter("mail").equals("user@host.com"))  {
    // default Mailadresse wurde nicht ver?ndert
    out.println("Das ist unsere Mailadresse: "+request.getParameter("mail") + 
      "
Bitte geben Sie Ihre eigene an!
"); } else if (request.getParameter("mail").length()==0) { // Mail ist leer out.println("Bitte geben Sie Ihre E-Mail Adresse an!"); } else if (!request.getParameter("mail").matches("[\\.\\w]{2,}@[\\.\\w]{3,}\\.[\\w]{2,}")) { // E-Mail Adresse mit regul?ren Ausdr?cken ?berpr?fen out.println("Ihre E-Mail Adresse scheint ung?ltig:" +request.getParameter("mail")+""); } else { // ToDo: Insert E-Mail Address into Newsletter Database!

Der Parameter "mail" darf nicht unsere vorgegebene Beispieladresse sein, er darf nicht leer sein und er muss im Groben dem Format einer E-Mail Adresse entsprechen. Wir Überprüfen dies mittels eines regulären Ausdrucks. (Hinweis: Diese Methode steht erst ab Java 1.4 zur Verfügung. Wenn Sie ein 1.3 er JDK benutzen, löschen Sie bitte die Zeilen 36-38). Wenn alles OK ist, tragen wir die Mailadresse in die Datenbank ein und geben dem User positives Feedback.

Besondere Probleme ergeben sich, wenn ein Eingabeelement die Mehrfachauswahl zulässt. Der Request stellt dann unter einem Namen eine ganze Reihe von Werten zur Verfügung. Benutzen Sie in diesem Fall: request.getParameterValues("multiSelectName"); Sie erhalten ein String[], dass Sie entsprechend auswerten können:

Code: /bsp/kap1/form_multiple.jsp

  <%   String[] selectedTowns=request.getParameterValues("towns");
    for (int i=0;i

Tipp:

Lösen Sie nun die Aufgabe TimeZones2.jsp

« Request und Response Objekte
JSP
Aufgaben »
Show/Hide Footer Actions

Kommentare:

Sie müssen angemeldet sein um eine Nachricht zu erstellen. Anmelden »
© 2012 Java 1. Alle Rechte vorbehalten.
Anmelden
concrete5 - open source CMS
Theme by Site5 / Mnkras.