|
|
FAQ (Frequently Asked Questions)

13. Struts
|
13.1
|
Struts - Was ist das überhaupt?
Struts ist, um es kurz und bündig auszudrücken, ein MVC-Framework. MVC steht dabei für die Model View Controller Architektur, die sich in unterschiedlichen Anwendungsbereichen sowie im WEB-Umfeld bereits als Basisarchitektur verbreitet hat.
Zentraler Anlaufpunkt einer Benutzeranforderung im MVC-Kontext ist der Frontcontroller, welcher Anforderungen (Requests) an sogenannte Handler weiterleitet. Handler wiederum setzen sich aus Actions (JavaBeans) zusammen, die den Zugriff auf das eigentliche Modell einer Web-Applikation kapseln. In der Regel beinhaltet das Modell die Geschäftslogik. Die Abbildung der Geschäftslogik ist dabei eine Schicht von Java- bzw. Enterprise Java Beans, welche sich wiederum einer Datenzugriffsschicht bedienen um Informationen zu lesen/schreiben.
Im Kontext einer J2EE-Applikation werden oftmals Session Facaden als Eintrittspunkt in den EJB-Layer (Applikationsserverkontext) eingesetzt. Nachdem der Geschäftsvorfall im Modell bearbeitet wurde, wird über einen Dispatcher zur View (JSP-Seite) verzweigt, um das Ergebnis der Bearbeitung zu visualisieren. Für den Transport der Daten vom Modell zur View werden DTO's (Data Transfer Objects) bzw. Value Objects eingesetzt. Für die Visualisierung der Ergebnisdaten werden in der View, View Helper eingesetzt. View Helper können Tag Libraries bzw. JavaBeans sein, die die Ausgabe der Ergebnisdaten entsprechend dem zuvor definierten Layout anzeigen.
Der Front Controller entkoppelt die Geschäftslogik einer Anwendung von der Visualisierung. Aufgrund des zentralen Ansatzes ist die Geschäftslogik nicht mehr über viele JSP-Seiten verteilt. Die Erweiter- und Wartbarkeit wird dadurch erleichtert. Die Definition neuer Actions sowie der Views erfolgt außerhalb des Source Codes, sodass sehr schnell auf veränderliche Prozesse reagiert werden kann.
Struts ist Teil der Jakarta-Projekte; Entsprechende Informationen zu dem Framework sowie der aktuelle Releasestand ist der Jakarta-Webseite zu entnehmen: http://jakarta.apache.org/struts
Autor: shark
|
| |
|
13.2
|
Wie verwendet man Struts Logic Tags?
Mit den Struts Logic Tags können in einer JSP-Seite vergleiche auf Basis von Request- und Session-Attributen durchgeführt werden.
Beispiel "Request":
-----------------------------
JSP-Seite-1
<%-- schreibe reqvalue in das reqkey attribut --%>
<%request.setAttribute("reqkey","reqvalue");%>
<logic:forward name="welcome"/>
JSP-Seite-2
<b><bean:write name="reqkey" scope="request"/></b>
<br>
<logic:match name="reqkey" value="reqvalue" scope="request">
...reqvalue erkannt...
</logic:match>
<br>
<logic:equal name="reqkey" value="reqvalue" scope="request">
...reqvalue erkannt...
</logic:equal>
Beispiel "Session":
-----------------------------
JSP-Seite-1
<%-- schreibe reqvalue in das reqkey attribut --%>
<%request.getSession().setAttribute("reqkey","reqvalue");%>
<logic:forward name="welcome"/>
JSP-Seite-2
<b><bean:write name="reqkey" scope="session"/></b>
<br>
<logic:match name="reqkey" value="reqvalue" scope="session">
...reqvalue erkannt...
</logic:match>
<br>
<logic:equal name="reqkey" value="reqvalue" scope="session">
...reqvalue erkannt...
</logic:equal>
Mit dieser Technik können auch Standard-Requestparameter verarbeitet werden (Beispiel Scheme-Parameter):
<bean:page id = "reqid" property="request"/>
<logic:match name="reqid" property="scheme" value="http">
...dies ist keine sichere seite...
</logic:match>
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.
|
|
|
|