Los elementos web de uso común incluyen: solicitud, sesión, aplicación, etc., y generalmente usamos más sesiones. ¿Cómo acceder a los elementos web en Struts2? Esto es muy importante porque puede completar la interacción de datos entre los antecedentes del programa y el usuario. El siguiente es un ejemplo de registro para demostrar su proceso:
1. Archivo index.jsp
<%@ page lenguaje = "java" contentType = "text/html; charset = utf-8" pageEncoding = "utf-8"%> <%string path = requit.getContextPath (); String basepath = request.getScheme ()+": //"+request.getServerName ()+":"+request.getServerPort ()+ruta+"/"; %> <! DocType html public "-// w3c // dtd html 4.01 transitional // en" "http://www.w3.org/tr/html4/loose.dtd"> <html> <Head> <meta http-oquiv = "content-type" contenido = "text/htm; <base href = "< %= basepath %>"/> <title> Inserte el título aquí </title> </thead> <body> <h1> demo </h1> <form de action = "user/usser02! Registro" Method = "Post"> Nombre: <input type = "text" name = "user.nniM.nniMe"> </input> <br/> contraseña: <input type = "text" name = "userword" word "upreming" <input type = "subt" value = "registrar"/> </form> </body> </html>
La función es muy simple: es decir, el usuario ingresa el nombre de usuario y la contraseña, y luego se puede obtener en segundo plano, y luego se mostrará al usuario después de que el registro sea exitoso.
2. Struts.xml Configuración
<? xml versión = "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.dtdd"> <truts> <stitant name = "struts.devmode" oal " name = "front" namespace = "/user" extends = "struts-default"> <Action name = "user*"> <resultado> /success.jsp </resultado> <resulte name = "error">/error.jsp </resultado> </action> </paquete> </struts>
Hay dos formas de completar esta función
3. El primer tipo (UserAction01)
paquete com.myservice.web; import java.util.map; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; public classationAction01 extiende ActionSupport { / ** * * / private Static final Long SerialVersionUid = 1l; Usuario privado de usuario; solicitud de mapa privado; Sesión de mapa privado; aplicación de mapa privado; public userAction01 () {request = (map) actionContext.getContext (). get ("request"); sesión = ActionContext.getContext (). GetSession (); aplicación = ActionContext.getContext (). GetApplication (); } public string register () {request.put ("name", user.getName ()); request.put ("contraseña", user.getPassword ()); devolver el éxito; } Public User getUser () {return user; } public void setUser (usuario de usuario) {this.user = user; }}Este método es utilizar el método ActionContext.getContext () para obtener el contexto y luego obtener la solicitud, sesión y aplicación
4. Otro método (Useraction02) es muy común y muy famoso: COI (inversión de control) y DI (inyección de dependencia). Requiere la implementación de 3 interfaces de la siguiente manera:
paquete com.myservice.web; import java.util.map; importar org.apache.struts2.interceptor.applicationAware; importar org.apache.struts2.interceptor.requestaware; importar org.apache.struts2.interceptor.sessionAware; import com.opensymphony.xwork2.ActionSupport; Public Class UserAction02 extiende ActionSupport implementa request AWare, SessionAWare, ApplicationAWee {private Map <String, Object> Solicitud; mapa privado <cadena, objeto> sesión; mapa privado <cadena, objeto> aplicación; Usuario privado de usuario; Usuario público getUser () {Return User; } public void setUser (usuario de usuario) {this.user = user; } public string register () {request.put ("name", user.getName ()); request.put ("contraseña", user.getPassword ()); devolver el éxito; } @Override public void setApplication (map <string, object> application) {// TODO Método generado automático Stub este.application = Application; } @Override public void setSession (map <string, object> session) {// TODO Método generado automático stub this.session = session; } @Override public void setRequest (map <string, objeto> request) {// TODO Método generado automático stub this.request = request; }}Esto implementa una función: coloque el nombre y la contraseña del usuario en la solicitud, y al usarla, solo necesitamos sacarlo.
5. Success.jsp elimina el contenido de la solicitud y la muestra
<%@ page lenguaje = "java" contentType = "text/html; charset = utf-8" PageEncoding = "utf-8"%> <%@ taglib uri = "/struts-tags" prefix = "s"%> <! Doctype html público "-// w3c // dtd html 4.01 transitional // "http://www.w3.org/tr/html4/loose.dtd"> <html> <fead> <meta http-equiv = "content-type" content = "text/html; charset = utf-8"> <title> title aquí </titeble> </head> <body> <h3> Registro exitoso </h3 ". value = "#request.name"/> registrado correctamente, con la contraseña: <s: propiedad value = "#request.password"/> </body> </html>
Los resultados se muestran como:
Lo anterior es todo el contenido de acceder a elementos web en Struts2. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.