Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.



Ähnliche Dokumente
Es wird das Struts <html:option> Element erläutert und anhand von kleinen Beispielen der Umgang veranschaulicht.

Internationales Altkatholisches Laienforum

Anleitung über den Umgang mit Schildern

Bedienungsanleitung Anlassteilnehmer (Vereinslisten)

AutoCAD Dienstprogramm zur Lizenzübertragung

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

Der lokale und verteilte Fall

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Professionelle Seminare im Bereich MS-Office

Was ist das Budget für Arbeit?

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter.

Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Historical Viewer. zu ETC5000 Benutzerhandbuch 312/15

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Barcodedatei importieren

Professionelle Seminare im Bereich MS-Office

Workshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ

Was meinen die Leute eigentlich mit: Grexit?

Java: Vererbung. Teil 3: super()

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

A. Ersetzung einer veralteten Govello-ID ( Absenderadresse )

Medea3 Print-Client (m3_print)

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Lehrer: Einschreibemethoden

Elexis-BlueEvidence-Connector

Leichte-Sprache-Bilder

Verarbeitung von ZV-Dateien im Internetbanking. Inhalt. 1. Datei einlesen Datei anzeigen, ändern, löschen Auftrag ausführen...

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Vorgehensweise bei Lastschriftverfahren

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

BEDIENUNGSANLEITUNG: EINREICH-TOOL

Melde- und Veröffentlichungsplattform Portal (MVP Portal) Hochladen einer XML-Datei

Anleitung zur Erstellung vor Urkundenvorlagen und einrichten einer Veranstaltung

Internet online Update (Mozilla Firefox)

Statuten in leichter Sprache

Übernahme von Daten aus einem bestehenden Outlook-Profil bzw. einem anderen Exchange Server

Stand: Adressnummern ändern Modulbeschreibung

IT-SICHERHEIT IM UNTERNEHMEN Mehr Sicherheit für Ihre Entscheidung

Schrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen.

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Installation OMNIKEY 3121 USB

MCRServlet Table of contents

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Auktionen erstellen und verwalten mit dem GV Büro System und der Justiz Auktion

Wie melde ich meinen Verein bei BOOKANDPLAY an?

Import und Export von Übergängern

Bedienungsanleitung Albumdesigner. Neues Projekt: Bestehendes Projekt öffnen:

Erstellen von x-y-diagrammen in OpenOffice.calc

Sie können diesen Service verwenden, um fast beliebig große Dateien auch über 2 GB zu versenden.

Informatik Kurs Simulation. Hilfe für den Consideo Modeler

So geht s Schritt-für-Schritt-Anleitung

Erstellen und Bearbeiten von Inhalten (Assets)

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek

Teaser-Bilder erstellen mit GIMP. Bildbearbeitung mit GIMP 1

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 22

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Rundung und Casting von Zahlen

Erweiterung AE WWS Lite Win: AES Security Verschlüsselung

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Stepperfocuser 2.0 mit Bootloader

Um die Patientenverwaltung von Sesam zu nutzen, muss man die Patienten natürlich zuerst in die Kartei eintragen.

WebService in Java SE und EE

Adobe Encore Einfaches Erstellen einer DVD

Übung - Konfigurieren einer Windows 7-Firewall

1. EINLEITUNG 2. GLOBALE GRUPPEN Globale Gruppen anlegen

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG

Kurz-Anleitung Veranstaltungskalender AHG

Arbeiten mit UMLed und Delphi

Info-Veranstaltung zur Erstellung von Zertifikaten

DOKUMENTATION VOGELZUCHT 2015 PLUS

Anleitung OpenCms 8 Webformular Auswertung

INNER WHEEL DEUTSCHLAND

Datenexport aus JS - Software

SEPA-Umstellungsanleitung Profi cash

Verwendung der PayJoe -API zum externen Upload von Belegen und Zahlungen

Einrichtung eines -konto mit Thunderbird

StudyDeal Accounts auf

Der Jazz Veranstaltungskalender für Deutschland, Österreich und die Schweiz

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich

Kennen, können, beherrschen lernen was gebraucht wird

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

MARCANT - File Delivery System

1. Einführung. 2. Alternativen zu eigenen Auswertungen. 3. Erstellen eigener Tabellen-Auswertungen

Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen

Vorabversion. Schulung am Homepage Administration und Pflege

MdtTax Programm. Programm Dokumentation. Datenbank Schnittstelle. Das Hauptmenü. Die Bedienung des Programms geht über das Hauptmenü.

Abwesenheitsnotiz im Exchange Server 2010

Kurzanleitung für Verkäufer

So gehts Schritt-für-Schritt-Anleitung

ACDSee 10. ACDSee 10: Fotos gruppieren und schneller durchsuchen. Was ist Gruppieren? Fotos gruppieren. Das Inhaltsverzeichnis zum Gruppieren nutzen

Anleitung Typo3-Extension - Raumbuchungssystem

Umzug der abfallwirtschaftlichen Nummern /Kündigung

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Programmentwicklungen, Webseitenerstellung, Zeiterfassung, Zutrittskontrolle

Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen

ASDI Benchmarking Projekt. Anleitung zum Datenexport

Transkript:

Übersicht Struts Forms Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Allgemeines Autor: Sascha Wolski http://www.laliluna.de/tutorials.html Tutorials für Struts, EJB, xdoclet und eclipse. Datum: September, 13 th 2004 Software: Struts Framework 1.2.6 PDF Download http://www.laliluna.de/download/struts-forms-overview-de.pdf Was ist ein va Bean Vorab sollte der Begriff va Bean nochmal kurz erläutert werden. va Beans sind nichts weiter als Klassen die für ihre Ereignis-Verarbeitungen und Methoden bestimmte von Sun festgelegte Namenskonversationen (Vorgaben) einhalten müssen. Sie werden schon seit hren bei der Konstruktion grafischer Benutzeroberfläschen eingesetzt. Die Eigenschaften der va Beans werden, wie bei anderen Klassen auch, durch Attribute (Variablen) festgelegt. Nur darf bei va Beans keine dieser Attribute öffentlich (global) sein. Der Zugriff auf die Attribute erfolgt über entsprechende Zugriffsmethoden. Die va-spezifikation sieht hier getter- und setter- Methoden vor. Hat ein va Bean ein Attribute name, so wird der Wert dieses Attributes mit einer Methode setname() gesetzt und mit der Methode getname() ausgelesen. Was ist eine ActionForm Klasse Eine ActionForm Klasse ist ein vabean, dass Daten speichert, ähnlich einer Objekt-Klasse. Diese ActionForm kann man einer Action in der struts-config.xml zu weisen. Es gibt für diese ActionForm Klassen zwei Möglichkeiten der Nutzung. Daten können gespeichert werden, mit denen man den Inhalt eines Formulars vorbelegen möchte (Bsp.:Formular zum Editieren) oder die man in einer JSP Datei ausgegeben werden sollen. Struts schreibt nach dem Abschicken eines Formulars die Daten wieder in eine ActionForm Im zweiten Fall muss der Entwickler häufig diese Daten validieren, ob die Daten im entsprechenden Format sind und den richtigen Wertebereich haben, zum Beispiel ob eine Emailadresse das richtige Format hat, ein Datum stimmt oder eine Zahl in einem Wertebereich liegt. Das kann der Entwickler entweder per Hand in der dazugehörigen Action machen oder mit der von der Klasse ActionForm bereitgestellten Methode validate(..). Eine weitere Möglichkeit ist das festlegen von Regeln in einer XML Datei. Struts bietet eine Vielzahl von Validierungsregeln, die man einem Feld in einem Formular zuordnen kann. Varianten der ActionForm Klasse Es existieren verschiedene Varianten der ActionForm Klasse, diese man in zwei große Bereiche, ActionForms (Programmierung von Hand) und dynamische ActionForms (Generierung durch Struts) unterteilt. ActionForm (Programmierung per Hand) Dabei erstellt der Entwickler eine Klasse die von der Klasse ActionForm abgeleitet wird. Beispiel einer ActionForm Klasse, mit Validierung in der validate(..) Methode.

public class myactionform extends ActionForm { private String text = "Hello World!" public String gettext(){ return text; public void settext(string text){ text = this.text; public ActionErrors validate( HttpServletRequest request) { ActionErrors actionerrors = new ActionErrors(); if(!text.equals("hello World!")) actionerrors.add("form", new ActionMessage("Error!!")); return actionerrors; Definition des Form-Beans in der struts-config.xml: <form-bean name="myform" type="my.package.myactionform" /> //casten der form als ActionForm ActionForm myform = (ActionForm) form; System.out.println("TEXT=" + myform.getitem()); Dynamische ActionForms (Generierung durch Struts) Es wird bei einer dynamischen ActionForm (DynaActionForm) keine Klasse erstellt. Man definiert das Bean und die dazugehörigen Eigenschaften in der struts-config.xml und Struts generiert die Klasse temporär. Definition des Form-Beans in der struts-config.xml: <form-bean name="myform" type="org.apache.struts.action.dynaactionform"> <form-property name="text" type="java.lang.string" initial="hello World!"/> </form-bean>

//casten der form als DynaActionForm DynaActionForm myform = (DynaActionForm) form; System.out.println("TEXT=" + myform.get("text")); Validierung auf Basis von XML Regeln Eine weitere Variante die sowohl für die dynamiche, aber auch für die normale ActionForm Klasse exisitert, ist die Erweiterung einer XML basierenden Validierung der Eigenschaften. Man spricht dabei von ValidatorForm und DynaValidatorForm Klassen. Die Zuordnung der XML Regeln für die Validierung wird durch das name Attribut der dazugehörigen Action, definiert in der strutsconfig.xml, realisiert. Hinweis:Bei allen Validator Forms muss das Validator-Plugin in der struts-config.xml geladen sein. <plug-in classname="org.apache.struts.validator.validatorplugin"> <set-property property="pathnames" value="/web-inf/validator-rules.xml"/> </plug-in> Beispiel einer nicht dynamischen ValidatorForm Klasse: public class myvalidatorform extends ValidatorForm { private String text = "Hello World!" public String gettext(){ return text; public void settext(string text){ text = this.text; Definition des Form-Beans in der struts-config.xml: <form-bean name="myform" type="my.package.myvalidatorform" />

//casten der form als ValidatorForm ValidatorForm myform = (ValidatorForm) form; System.out.println("TEXT=" + myform.getitem()); Definition einer dynamischen ValidatorForm in der struts-config.xml: <form-bean name="mydynaform" type="org.apache.struts.validator.dynavalidatorform"> <form-property name="item" type="java.lang.string" /> </form-bean> Beispiel für XML Validierung (validation.xml): <form-validation> <formset> <form name="mydynaform"> <field property="item" depends="required"> <arg0 key="prompt.item"/> </field> </form> </formset> </form-validation> Bei den ValidatorForms, ob nun dynamisch oder nicht, existiert eine weitere Variante, die eine andere Vorgehensweise für die Zuordnung der XML Regeln zur Validierung benutzt. Dabei wird das path Attribut der dazugehörigen Action, definiert in der struts-config.xml, genutzt und die Regeln zur Validierung werden anhand des ausgerufenen Pfades ermittelt. Die Klassen dazu heissen ValidatorActionForm oder DynaValidatorActionForm. Besondere Varianten der ValidatorForm Klasse Es existieren zwei besondere Varianten der ValidatorForm Klasse, die BeanValidatorForm (ab Struts-Version 1.2.4) und LazyValidatorForm (ab Struts-Version 1.2.6). Beide Klassen unterstützen wie die ValidatorForm Klasse die XML basierende Validierung von Eigenschaften. Die BeanValidatorKlasse wird genutzt um aus einer normalen Objektklasse (POJO) ein Bean zu erzeugen. Dabei gibt man beim Anlegen des FormBeans in der struts-config.xml die Objektklasse an. Beispiel einer Objektklasse: public class mypojoclass { private String text = "Hello World!"

public String gettext(){ return text; public void settext(string text){ text = this.text; Definition des Form-Beans in der struts-config.xml <form-bean name="myform" type="my.package.mypojoclass" /> Zugriff auf Form-Bean innerhalb der Action Klasse //casten der form als BeanValidatorForm BeanValidatorForm myform = (BeanValidatorForm) form; System.out.println("TEXT=" + myform.get("text")); Die LazyValidatorForm ist eine dynamische Variante der ValidatorForm, es muss also keine Klasse erstellt werden. Definiert wird ein Bean vom Typ LazyValidatorForm in der strutsconfig.xml. Die Besonderheit dieser Klasse, es ist nicht mehr notwendig Eigenschaften (Variablen) zu definieren. Die benötigten Eigenschaften werden von Struts ahand der übergebenen Parameter erstellt. Definition des Form-Beans in der struts-config.xml <form-bean name="testform" type="org.apache.struts.validator.lazyvalidatorform" /> Ausschnitt aus JSP Datei: <html:form action="/test"> <html:text property="text" /> <br> <html:submit /> </html:form> public class mypojoaction extends Action {

//casten der form als LazyValidatorForm LazyValidatorFormtestForm = (LazyValidatorForm) form; System.out.println("NAME=" + testform.get("text")); Übersicht der ActionForm Klassen ActionForm Form Typ Besonderheiten Validierung Dynamisch DynaActionForm ValidatorForm DynaValidatorForm ValidatorActionForm DynaValidatorActionForm BeanValidatorForm Basis ActionForm Klasse, von dieser erben alle Varianten von ActionForm Klassen. Dynamische Variante ActionForm Klasse. Es wird keine Klasse benötigt. Definition in struts-config.xml XML basierende Validierung Zuordnung der XML Regeln für Validierung anhand des Attributes name der dazugehörigen Action Dynamische Variante der ActionForm Klasse. Es wird keine Klasse benötigt. Definition in struts-config.xml. XML basierende Validierung XML basierende Validierung. Zurordnung der XML Regeln für Validierung anhand des path Attributes der dazugehörigen Action. Dadurch können für das gleiche Formbean unterschiedliche Validierungen vorgenommen werden, abhängig vom Action, in dem es verwendet wird. Dynamische Variante der ActionForm Klasse. XML basierende Validierung Zurordnung der XML Regeln für Validierung anhand des path Attributes der dazugehörigen Action Dadurch können für das gleiche Formbean unterschiedliche Validierungen vorgenommen werden, abhängig vom Action, in dem es verwendet wird. XML basierende Validierung, Wird genutzt um normale Objektklasse als Form-Bean zu nutzen.

Form Typ Besonderheiten Validierung Dynamisch LazyValidatorForm Dynamische Variante der ActionForm Klasse. XML basierende Validierung, Es ist nicht notwendig Eigenschaften zu definieren.