7. Februar 2012  
  Suche:
 
  Basics
  Code-Galerie
  Forum
  FAQ
  Tipps & Tricks
  Literatur
  Knowledge Base
  Workshops
  JSP-Hosting
  JSP-Engines
  Jobbörse
  Links
  JSP-Sites
  Newsletter
  JSP-Test
  Impressum
  Username:
  
  Passwort:
  
  

  Jetzt registrieren
  Warum registrieren?

  Valid HTML 4.01!
  Valid CSS!

JSP - Workshop - Formularverarbeitung - Step 2/4

Nun sorgen wir dafür, dass alle eingegeben Werte nach abschicken des Formulars erhalten bleiben.


Formular zum ausprobieren

Name:
eMail:
Interessen: JSP PHP Ruby
Ich bin: männlich weiblich
Qualifikation:
Kommentar:

Wenn das Formular jetzt abgeschickt wird werden alle Felder wieder mit den eingegeben Daten gefüllt.


JSP-Quellcode

<%@ page language="java" %>
<%@ page import="java.util.*" %>
<%
String sName = "";
String sEmail = "";
String sIchbin = "";
String sQualifikation = "";
String sKommentar = "";
Vector vInteressen = new Vector();

// Wenn das Formular abgeschickt wurde
if (request.getParameter("name") != null)
{
   sName  = request.getParameter("name");
   sEmail = request.getParameter("email");
   sIchbin = request.getParameter("ichbin");
   sQualifikation = request.getParameter("qualifikation");
   sKommentar = request.getParameter("kommentar");
   
   String[] sInteressen = request.getParameterValues("interessen");
   if (sInteressen != null)
   {
      for (int i=0; i<sInteressen.length; i++)
      {
         vInteressen.add(sInteressen[i]);
      }
   }
}
%>

<html>
  <body>
    <form action="./step2.jsp" method="post">
     <table>
       <tr>
         <td>Name:</td>
         <td><input type="text" name="name" size="20" value="<%= sName %>"></td>
       </tr>
       <tr>         
         <td>eMail:</td>
         <td><input type="text" name="email" size="20" value="<%= sEmail %>"></td>
       </tr>
       <tr>         
         <td>Interessen:</td>
         <td>
           <input type="checkbox" name="interessen" value="jsp"<%= vInteressen.contains("jsp") ? " checked" : "" %>;> JSP
           <input type="checkbox" name="interessen" value="php"<%= vInteressen.contains("php") ? " checked" : "" %>> PHP
           <input type="checkbox" name="interessen" value="ruby"<%= vInteressen.contains("ruby") ? " checked" : "" %>> Ruby
         </td>
       </tr>
       <tr>         
         <td>Ich bin:</td>
         <td>
           <input type="radio" name="ichbin" value="1"<%= "1".equals(sIchbin) ? " checked" : "" %>> männlich
           <input type="radio" name="ichbin" value="2"<%= "2".equals(sIchbin) ? " checked" : "" %>> weiblich
         </td>
       </tr>
       <tr>         
         <td>Qualifikation:</td>
         <td>
           <select name="qualifikation" size="1">
             <option value="">Bitte auswählen</option>
             <option value="1"<%= "1".equals(sQualifikation) ? " selected" : "" %>>Anfänger</option>
             <option value="2"<%= "2".equals(sQualifikation) ? " selected" : "" %>>Profi</option>
             <option value="3"<%= "3".equals(sQualifikation) ? " selected" : "" %>>Guru</option>
           </select>
         </td>
       </tr>
       <tr>         
         <td>Kommentar:</td>
         <td><textarea name="kommentar" cols="20" rows="5"><%= sKommentar %></textarea></td>
       </tr>
       <tr>
         <td colspan="2" align="center"><input type="submit" value="Abschicken"></td>
       </tr>
     </table>
    </form>
  </body>
</html>


Mit request.getParameter("name") != null können wir bestimmen, ob das Formular abgeschickt wurde, in diesem Fall holen wir uns mit request.getParameter() alle Felder in Strings. Ausnahme die Checkboxen die wir (da sie den gleichen Namen haben) mit request.getParameterValues() bekommen und der Einfachheit halber in einen Vector umkopieren. Wenn keiner der beiden Radiobuttons angeklickt wird werden wir sIchbin mit null vorfinden, zur Sicherheit fragen wir daher jeden einzelnen Stringvergleich mit "wert".equals(String) ab um auf die Stringabfrage ungleich null verzichten zu können. Praktisch ist in diesem Falle auch die verkürzte if-else-Anweisung über a==b ? "a gleich b" : "a ungleich b".

Im nächsten Schritt werden wir die Eingabefelder validieren.


weiter zum Step 3



Hinweis: Auf dieser Seite liegen Links zu anderen Seiten im Internet. Für alle diese Links gilt: Wir betonen ausdrücklich, daß wir keinerlei Einfluß auf die Gestaltung und die Inhalte der gelinkten Seiten haben. Deshalb distanzieren wir uns hiermit ausdrücklich von allen Inhalten aller gelinkten Seiten auf dieser Homepage und machen uns ihre Inhalte nicht zueigen. Diese Erklärung gilt für alle auf unserer Homepage angebrachten Links

Redaktion/Betreiber von JSP-Develop übernehmen keinerlei Gewährleistung und Verantwortung für die Richtig- und/oder Vollständigkeit von den auf den Webseiten JSP-Develop veröffentlichten Source Codes. Die Verantwortung der Verwendung/Anwendung sowie etwaige Modifikation der hier veröffentlichten Sourcen obliegt einzig dem Benutzer der Webseite, welche die veröffentlichten Sourcen in einer Applikation/Anwendung einsetzt. Durch das Kopieren und/oder Benutzen der Sourcen in einer Applikation/Anwendung bzw. etwaigen Abschriften wird dieser Rechtshinweis anerkannt.

Java, JSP, JavaServer Pages, J2EE, EJB, JDBC, JNDI, JTA, Sun, Sun Microsystems are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and in other countries. IBM, WebSphere are trademarks or registered trademarks of International Business Machines Corporation. Other trademarks and registered trademarks are the property of their respective owners.