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> </struts>
<body> 取得request,session,application的引用; <br/> <form name="f" action="" method="post"> 用户名:<input type="text" name="name"/> 密码:<input type="text" name="password"/> <br/> <input type="button" value="submit1" onclick="javascript:document,f,action='login/login1';document.f.submit();"/> <input type="button" value="submit2" onclick="javascript:document,f,action='login/login2';document.f.submit();"/> <input type="button" value="submit3" onclick="javascript:document,f,action='login/login3';document.f.submit();"/> <input type="button" value="submit4" onclick="javascript:document,f,action='login/login4';document.f.submit();"/> </form> </body>
<pre name="code" class="html"><%@taglib uri="/struts-tags" prefix="s"%>
<body> user login success! <br/> <s:property value="#request.r1"/> | <%=request.getAttribute("r1") %><br/> <s:property value="#session.s1"/> | <%=session.getAttribute("s1") %><br/> <s:property value="#application.a1"/> | <%=application.getAttribute("a1") %><br/> </body>
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; } }
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<String,Object>request; private Map<String,Object>session; private Map<String,Object>application; public String execute(){ request.put("r1", "r1"); session.put("s1","s1"); application.put("a1", "a1"); return SUCCESS; } @Override public void setApplication(Map<String, Object> application) { // TODO Auto-generated method stub this.application=application; } @Override public void setSession(Map<String, Object> session) { // TODO Auto-generated method stub this.session=session; } @Override public void setRequest(Map<String, Object> 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(); } }