Zu den häufig verwendeten Webelementen gehören: Anfrage, Sitzung, Anwendung usw., und wir verwenden im Allgemeinen Sitzungen mehr. Wie greifen Sie in Struts2 auf Webelemente zu? Dies ist sehr wichtig, da die Dateninteraktion zwischen dem Programmhintergrund und dem Benutzer abgeschlossen werden kann. Das Folgende ist ein Registrierungsbeispiel, um seinen Prozess zu demonstrieren:
1. Index.jsp -Datei
<%@ page Language = "java" contentType = "text/html; charset = utf-8" pageCoding = "utf-8"%> <%String path = request.getContextPath (); String basepath = request.getScheme ()+": //"+request.getSerVername ()+":"+request.getServerport ()+path+"/"; %> <! DocType html public "-// w3c // dtd html 4.01 transitional // en" "http://www.w3.org/tr/html4/loose.dtd" charset = utf-8 "> <base href =" < %= basepath %> "/> <titel> Title hier </title> </head> <body> <h1> Demo </h1> <Form Action =" Benutzer/user02! Register "methode =" post "> name: <input type =" text "name =" user.name "user. name = "user.password"> </input> <br/> <Eingabe type = "value =" Register "/> </form> </body> </html>
Die Funktion ist sehr einfach - das heißt, der Benutzer gibt den Benutzernamen und das Kennwort ein und kann dann im Hintergrund erhalten werden und wird dann dem Benutzer angezeigt, nachdem die Registrierung erfolgreich ist.
2. Struts.xml Konfiguration
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <constant name="struts.devMode" value="true" /> <package name = "vorne" namespace = "/user" extends = "struts-default"> <action name = "user*"> <Eltr ERGEBNIS> /SUCCESS.JSP </result> <result name = "error">/error.jsp </result> </action> </package> </struts>
Es gibt zwei Möglichkeiten, diese Funktion zu erfüllen
3. Der erste Typ (userAction01)
Paket com.myService.web; import Java.util.map; com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.actionsupport; public class userAction01 erweitert actionupport { / ** * * / private statische endgültige long serialversionuid = 1l; privater Benutzerbenutzer; private Kartenanfrage; private Kartensitzung; private Kartenanwendung; public userAction01 () {request = (map) actionContext.getContext (). get ("request"); Session = actionContext.getContext (). getSession (); application = actionContext.getContext (). getApplication (); } public String register () {request.put ("name", user.getName ()); request.put ("password", user.getPassword ()); Erfolgserfolg; } public user getUser () {zurückgebener Benutzer; } public void setUser (Benutzer Benutzer) {this.user = user; }}Diese Methode besteht darin, die Methode von ActionContext.getContext () zu verwenden, um den Kontext zu erhalten und dann die Anforderung, Sitzung und Anwendung zu erhalten
4. Eine andere Methode (UserAction02) ist sehr häufig und sehr berühmt - IOC (Kontrollinversion) und DI (Abhängigkeitsinjektion). Es erfordert die Implementierung von 3 Schnittstellen wie folgt:
Paket com.myService.web; import Java.util.map; import org.apache.struts2.Interceptor.applicationAWare; import org.apache.struts2.Interceptor.requestaware; import org.apache.struts2.Interceptor.sessionAware; import com.opensymphony.xwork2.actionsupport; public class userAction02 erweitert actionupport implements requestAwe, sessionAwe, applicationAware {private map <String, Objekt> Anforderung; private map <String, Objekt> Sitzung; private map <String, Objekt> Anwendung; privater Benutzerbenutzer; public user getUser () {zurücksenden Benutzer; } public void setUser (Benutzer Benutzer) {this.user = user; } public String register () {request.put ("name", user.getName ()); request.put ("password", user.getPassword ()); Erfolgserfolg; } @Override public void setApplication (MAP <String, Objekt> Anwendung) {// Todo automatisch generierte Methode Stub this.application = application; } @Override public void setSession (MAP <String, Objekt> Sitzung) {// Todo automatisch generierte Methode Stub This.Session = Session; } @Override public void setRequest (MAP <String, Object> Request) {// Todo automatisch generierte Methode Stub This.Request = Request; }}Dies implementiert eine Funktion - Fügen Sie den Namen und das Kennwort des Benutzers in die Anforderung ein, und wenn Sie sie verwenden, müssen wir ihn nur herausnehmen.
5. Success.jsp nimmt den Inhalt der Anfrage heraus und zeigt sie an
<%@ page Language = "java" contentType = "text/html; charset = utf-8" pageCoding = "utf-8"%> <%@ taglib uri = "/struts-tags" prefix = "s"%> <! docType html public "-////// // //. Dtd HTM. "http://www.w3.org/tr/html4/loose.dtd"> <html> <head> <meta http-equiv = "content-type" content = "text/html; charset = utf-8"> <titels> fügen Sie hier zu. value = "#request.name"/> erfolgreich registriert mit dem Passwort: <s: Eigenschaft value = "#request.password"/> </body> </html>
Die Ergebnisse werden als:
Das obige ist der Inhalt des Zugriffs auf Webelemente in Struts2. Ich hoffe, Sie können Ihnen eine Referenz geben und ich hoffe, Sie können wulin.com mehr unterstützen.