Struts2 accessing web elements
1. struts. xml
<struts> <constant name="struts.devMode" value="false"> <constant name="struts.enable.DynamicMethodInvocation" value="true"> <constant name="struts.i18n.encoding" value="utf-8"></constant> <package name="login" namespace="/login" extends="struts-default"> <action name="login*" class="com.wxh.action.LoginActon{1}"> <result>/useraddsuccess.jsp</result> </action> </package> </constant></constant></struts>
2. index. jsp
Obtain the reference of request, session, and application. <br/> <form action = "" method = "post" name = "f"> Username: <input name = "name" type = "text"/> password: <input name = "password" type = "text"/> <br/> <input onclick = "javascript: document, f, action = 'login/login1'; document. f. submit (); "type =" button "value =" submit1 "/> <input onclick =" javascript: document, f, action = 'login/login2'; document. f. submit (); "type =" button "value =" submit2 "/> <input onclick =" javascript: document, f, action = 'login/login3'; document. f. submit (); "type =" button "value =" submit3 "/> <input onclick =" javascript: document, f, action = 'login/login4'; document. f. submit (); "type =" button "value =" submit4 "/> & nbsp; </form>
3. useraddsuccess. jsp
<%@taglib uri="/struts-tags" prefix="s"%>
User login success!
| <% = Request. getAttribute ("r1") %>
| <% = Session. getAttribute ("s1") %>
| <% = Application. getAttribute ("a1") %>
4. LoginAction1.java
package com.wxh.action;import java.util.Map; import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;public class LoginActon1 extends ActionSupport {private Map request;private Map session;private Map application;public LoginActon1(){request=(Map)ActionContext.getContext().get("request");session=ActionContext.getContext().getSession();application=ActionContext.getContext().getApplication();}public String execute(){request.put("r1", "r1");session.put("s1","s1");application.put("a1", "a1");return SUCCESS;}}LoginAction2.java
package com.wxh.action;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 LoginActon2 extends ActionSupport implements RequestAware,SessionAware,ApplicationAware{/** * */private static final long serialVersionUID = 1L;private Map
request;private Map
session;private Map
application;public String execute(){request.put("r1", "r1");session.put("s1","s1");application.put("a1", "a1");return SUCCESS;}@Overridepublic void setApplication(Map
application) {// TODO Auto-generated method stubthis.application=application;}@Overridepublic void setSession(Map
session) {// TODO Auto-generated method stubthis.session=session;}@Overridepublic void setRequest(Map
request) {// TODO Auto-generated method stubthis.request=request;}}
LoginAction3.java
package com.wxh.action;import javax.servlet.ServletContext;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;public class LoginActon3 extends ActionSupport{private HttpSession session;private HttpServletRequest request;private ServletContext application;public LoginActon3(){request=ServletActionContext.getRequest();session=request.getSession();application=session.getServletContext();}public String execute(){request.setAttribute("r1", "r1");session.setAttribute("s1","s1");application.setAttribute("a1", "a1");return SUCCESS;}}
LoginAction4.java
package com.wxh.action;import javax.servlet.ServletContext;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;import org.apache.struts2.interceptor.ServletRequestAware;import com.opensymphony.xwork2.ActionSupport;public class LoginActon4 extends ActionSupport implements ServletRequestAware{private HttpSession session;private HttpServletRequest request;private ServletContext application;public String execute(){request.setAttribute("r1", "r1");session.setAttribute("s1","s1");application.setAttribute("a1", "a1");return SUCCESS;}@Overridepublic void setServletRequest(HttpServletRequest request) {// TODO Auto-generated method stubthis.request=request;this.session=request.getSession();this.application=session.getServletContext();}}