30. Juli 2010  
  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!

FAQ (Frequently Asked Questions)

5. Formularverarbeitung

5.1

Wie greife ich in meiner JSP-Seite auf Formularparameter zu?
Das HTTP Request-/Response-Modell ist die Grundlage von WEB-Anwendungen. Der Benutzer einer WEB-Anwendung gibt seine Daten in ein HTML-Formular ein. Das HTML-Formular enthält Eingabefelder die vom Benutzer gefüllt und beim Betätigen der Submit-Schaltfläche an den WEB-Server gesendet werden. Die Formularparameter werden daraufhin in einer JSP-Seite auf dem WEB-Server ausgelesen und weiterverarbeitet.

Beispiel für das Auslesen der Formularparameter:
------------------------------------------------------------------------

<!-- HTML-Seite mit einem einfachen Formular -->
<html>
<body>
<h1>Wie ist Ihr Name?</h1>
<form action="myname.jsp" method="post">
Name: <input type="text" name="name"><br>
<input type="submit" value="Senden">
</form>
</body>
</html>

<!-- JSP-Seite "myname.jsp" zum Anzeigen des zuvor eingegeben Namens -->
<%@ page language="java" %>
<html>
<body>
<%
String lstrName = (String) request.getParameter("name");
if (null != lstrName)
{
%>
<h1>Herzlich Willkommen <%= lstrName %></h1>
<%
}
%>

siehe auch http://www.jsp-develop.de/basics/workshop/formularverarbeitung/

Autor: shark

 
5.2

Wie kann ich Variablen an meine JSP-Seite übergeben?
Variablen können auf folgende Art und Weise an eine JSP-Seite übergeben werden:

(1) Parameterübergabe über eine URL

<a href="my.jsp?name=<%=lstrName%>">Link</a>

Siehe auch http://www.jsp-develop.de/tipps für weitere Informationen zu dieser Thematik.

(2) Parameterübergabe in einer Sessionvariablen

// setzen der Sessionvariablen
session.setAttribute("name", lstrName);

// lesen der Sessionvariablen
String lstrName = (String) session.getAttribute("name");

(3) Parameterübergabe über ein JavaBean

JavaBeans können sofern sie im Sessionscope verwendet werden auch als Datencontainer dienen.

Siehe Beitrag in der Knowledge Base: http://www.jsp-develop.de/knowledgebase/view/32/

(4) Parameterübergabe über versteckte Formularfelder

In das Formular bindet man das versteckte Formularfeld folgendermassen ein:
<input type="hidden" name="name" value="<%=lstrName%>">

In der Seite, die nach dem Absenden des Formulars angesprochen wird, liest man den versteckten Formularparameter wie einen Standardformularparameter aus:
<% String lstrName = (String) request.getParameter("name"); %>

Autor: shark

 
5.3

Wie validiere ich Formularparameter auf der Clientseite?
Formularparameter können auf dem Client mit JavaScript validiert werden.

Beispiel:
------------

<html>
<head>
</head>
<script language="JavaScript">
function checkParameter()
{
  var laenge, eingabe;

  eingabe = window.document.forms[0].elements[0].value;
  laenge  = eingabe.length;

  if("" != eingabe)
  {
    if (laenge > 25)
    {
      alert("Der Name darf nur 25 Zeichen enthalten!");
    }
  }
  else
  {
    alert("Bitte den Namen eingeben!");
  }
}</script>
<body>
Bitte den Namen eingeben:<br>
<form name="eingabe_form">
<input name="" size="30">
<input type="button" value="Submit" onclick="checkParameter()">
</form>
</body>
</html>

Anmerkung : VORSICHT! Nie darauf verlassen, dass die Parameter geprüft an die JSP-Seite übergeben werden. Der User könnte JavaScript deaktiviert haben, oder mutwillig versuchen mit fehlerhaften Daten zu stören. (Autor: stesch)

Autor: shark

 
5.4

Wie setze ich den Fokus auf ein Eingabefeld?
Der Fokus wird mit Java-Script auf ein Eingabefeld gesetzt. In der nachfolgenden HTML-Seite wird der Fokus auf das erste Eingabefeld der ersten Form gesetzt. Anstelle des Indexzugriffes kann auch der Form- und Eingabefeldname angeben werden.

Die Java-Script Funktion ist auskommentiert, weil es immer noch Browser gibt, die kein Java-Script verstehen und die HTML-Seite auch in solchen Browsern korrekt angezeigt werden soll.

<HTML>
<HEAD>
<TITLE>EXAMPLE FOCUS PAGE</TITLE>
<SCRIPT language ="JavaScript">
<!--
function setCursor() {
  window.document.forms[0].elements[0].focus();
}
-->
</SCRIPT>
</HEAD>

<BODY onLoad ="setCursor()">
<FORM>
Name: <INPUT type="text" name="Name" size="20" maxlength="20">
<INPUT type="submit" name="Submit" value="Text senden">
</FORM>
</BODY>
</HTML>

Autor: shark

 

Zurück


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.