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>
取得request,session,application的引用;<br /> <form action="" method="post" name="f"> 用戶名:<input name="name" type="text" /> 密碼:<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" /> </form>3、useraddsuccess.jsp
<%@taglib uri="/struts-tags" prefix="s"%>
user login success!
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 Maprequest; private Map session; private Map application; public String execute(){ request.put("r1", "r1"); session.put("s1","s1"); application.put("a1", "a1"); return SUCCESS; } @Override public void setApplication(Map application) { // TODO Auto-generated method stub this.application=application; } @Override public void setSession(Map session) { // TODO Auto-generated method stub this.session=session; } @Override public void setRequest(Map request) { // TODO Auto-generated method stub this.request=request; } }
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; } }
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; } @Override public void setServletRequest(HttpServletRequest request) { // TODO Auto-generated method stub this.request=request; this.session=request.getSession(); this.application=session.getServletContext(); } }