Les éléments Web couramment utilisés incluent: Demande, session, application, etc., et nous utilisons généralement davantage les sessions. Comment accéder aux éléments Web dans Struts2? Ceci est très important car il peut compléter l'interaction des données entre l'arrière-plan du programme et l'utilisateur. Ce qui suit est un exemple d'enregistrement pour démontrer son processus:
1. Fichier index.jsp
<% @ page Language = "Java" ContentType = "Text / Html; charSet = UTF-8" Pageencoding = "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"> <html> <ead> <meta http-equiv = "contenu-ype" content = "text / html; charset =" contenu-ype "contenu =" text / html; Charset = "contenu-type" contenu = "Text / HTML; <base href = "<% = basepath%>" /> <ititle> insérer le titre ici </ title> </ head> <body> <h1> démo </h1> <form action = "user / user02! registre" metheth = "Post"> name: <entrée = "text" name = "user.name"> </ entrée> <br/> mot de passe: <entrée type = "text" name = "user. <br/> <input type = "soumi" value = "registre" /> </ form> </ body> </html>
La fonction est très simple - c'est-à-dire que l'utilisateur entre le nom d'utilisateur et le mot de passe, puis il peut être obtenu en arrière-plan, puis il sera affiché à l'utilisateur une fois l'inscription réussie.
2. Configuration de strut.xml
<? 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"> <strutts> <constante nom = "Struts.devmode" name = "front" namespace = "/ user" étend = "struts-default"> <action name = "user *"> <sult> /success.jsp </ result> <result name = "error"> / error.jsp </cult> </ action> </ package> </ struts>
Il existe deux façons de remplir cette fonction
3. Le premier type (userAction01)
package com.myservice.web; importation java.util.map; Importer com.opensymphony.xwork2.actionContext; Importer com.opensymphony.xwork2.actionsupport; classe publique UserAction01 étend ActionSupport {/ ** * * / private static final long SerialVersionUID = 1l; utilisateur utilisateur privé; demande de carte privée; Session de carte privée; application de carte privée; 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 ("mot de passe", user.getPassword ()); retourner le succès; } public utilisateur getUser () {return utilisateur; } public void SetUser (utilisateur utilisateur) {this.user = utilisateur; }}Cette méthode consiste à utiliser la méthode ActionContext.getContext () pour obtenir le contexte, puis obtenir la demande, la session et l'application
4. Une autre méthode (userAction02) est très courante et très célèbre - CIO (inversion de contrôle) et DI (injection de dépendance). Il nécessite la mise en œuvre de 3 interfaces comme suit:
package com.myservice.web; importation java.util.map; import org.apache.struts2.Interceptor.ApplicationAware; import org.apache.struts2.Interceptor.requestAware; import org.apache.struts2.Interceptor.SessionAware; Importer com.opensymphony.xwork2.actionsupport; Classe publique UserAction02 étend ActionSupport implémente requestAware, SessionAware, ApplicationAware {Private Map <String, Object> Request; Map privé <chaîne, objet> session; Carte privée <chaîne, objet> application; utilisateur utilisateur privé; utilisateur public getuser () {return utilisateur; } public void SetUser (utilisateur utilisateur) {this.user = utilisateur; } public String register () {request.put ("name", user.getName ()); request.put ("mot de passe", user.getPassword ()); retourner le succès; } @Override public void setApplication (map <string, objet> application) {// Todo Method-Generated Method Stub this.Application = application; } @Override public void setSession (map <string, object> session) {// TODO Méthode générée automatiquement Stub this.Session = session; } @Override public void setRequest (map <string, objet> request) {// TODO Méthode générée automatiquement Stub this.request = request; }}Cela implémente une fonction - mettez le nom et le mot de passe de l'utilisateur dans la demande, et lorsque vous l'utilisez, nous avons juste besoin de le retirer.
5. Success.jsp supprime le contenu de la demande et l'affiche
<% @ page Language = "Java" ContentType = "Text / HTML; charSet = UTF-8" Pageencoding = "UTF-8"%> <% @ Taglib Uri = "/ Struts-Tags" Prefix = "S"%> <! DocType HTML Public "- // W3C // DTD HTML 4.01 Transitional // En" "http://www.w3.org/tr/html4/loose.dtd"> <html> <adread> <meta http-equiv = "contenu-type" contenu = "Text / html; charset = utf-8"> <t titre> Titre ici </ title> </-head> <body> <h3> Inscriptiel <h3> <s: s: s: s: s: s: s: s: s: s: s: s: s: s: s: s: s: s: s: Setwerts> <S: Spreway value = "# request.name" /> enregistré avec succès, avec le mot de passe: <s: propriété value = "# request.password" /> </gody> </html>
Les résultats sont présentés comme:
Ce qui précède est tout le contenu de l'accès aux éléments Web dans Struts2. J'espère que vous pourrez vous faire référence et j'espère que vous pourrez soutenir Wulin.com plus.