Summarize
The first: through direct access
Request = (MAP) actioncontext.getcontext (). Get ("request");
Session = Actioncontext.getcontext (). GetSession ();
application = Actioncontext.getcontext (). Getapplication ();
The second implementation of the interface
Class LoginAction2 extends Actionsupport implements Requestaware,sessionaware, Applicationaware
The third type: by direct access
Request = Servletactioncontext.getrequest ();
Session = Request.getsession ();
Fourth: Through the implementation of interface
Class LoginAction4 extends Actionsupport implements Servletrequestaware
First type:
Package com.bjsxt.struts2.user.action;
Import Java.util.Map;
Import Com.opensymphony.xwork2.ActionContext;
Import Com.opensymphony.xwork2.ActionSupport;
public class LoginAction1 extends Actionsupport {
private Map request;
Private Map session;
Private MAP Application;
Public LoginAction1 () {
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
}
}
The second type:
Package com.bjsxt.struts2.user.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.ActionContext;
Import Com.opensymphony.xwork2.ActionSupport; public class LoginAction2 extends Actionsupport implements Requestaware,sessionaware, Applicationaware {private map< ;
String, object> request;
Private Map<string, object> session;
Private map<string, object> application;
DI Dependency Injection//IOC inverse of control public String execute () {request.put ("R1", "R1");
Session.put ("S1", "S1");
Application.put ("A1", "A1");
return SUCCESS;
@Override public void Setrequest (map<string, object> request) {this.request = Request;
@Override public void Setsession (map<string, object> sessions) {this.session = session; @Override public void Setapplication (map<String, object> application) {this.application = Application;
}
}
The third type:
Package com.bjsxt.struts2.user.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 LoginAction3 extends Actionsupport {
private httpservletrequest request;
Private HttpSession session;
Private ServletContext Application;
Public LoginAction3 () {
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
}
}
The four:
Package com.bjsxt.struts2.user.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 LoginAction4 extends Actionsupport implements Servletrequestaware {
private httpservletrequest request ;
Private HttpSession session;
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) {
this.request = Request;
This.session = Request.getsession (); this.application = Session.getservletcontext ();
}
}
2
Login Page
<form name= "F" action= "method=" Post >
username: <input type= "text" name= "name"/>
Password: <input type= " Text "name=" password "/>
<br/> <input type="
button "value=" Submit1 "onclick=" javascript: document.f.action= ' login/login1 ';d ocument.f.submit (); "/>
<input type=" button "value=" Submit2 "onclick=" javascript:document.f.action= ' login/login2 ';d ocument.f.submit (); "/>
<input type=" button "value=" Submit3 "onclick=" javascript:document.f.action= ' login/login3 ';d ocument.f.submit (); "/> <input-type=
" Button "value=" SUBMIT4 "onclick=" javascript:document.f.action= ' Login/login4 ';d ocument.f.submit (); "/>
< /form>
3 Get the Worth page
In three ways.
A: #requestxxxx
B:request. GetAttribute (...)
C: Direct attribute value #attr.ri
<% @taglib uri= "/struts-tags" prefix= "s"%>
User Login success!
<br/>
<s:property value= "#request. R1"/> | <%=request.getattribute ("r1")%>
<br <s:property value= "#session. S1"/> | <%=session.getattribute ("S1")%> <br/> <s:property
"#application. value=" A1 |/> Application.getattribute ("A1")%> <br/> <s:property value= "
#attr. A1"/><br/> <s
: Property value= "#attr. S1"/><br/>
<s:property value= "#attr. R1"/><br/>
<s:debug ></s:debug>
<br/>