package servletApi.action;
import java.util.Map;
import org.apache.struts2.interceptor.ApplicationAware;
import org.apache.struts2.interceptor.SessionAware;
import org.apache.struts2.interceptor.RequestAware;
import com.opensymphony.xwork2.ActionSupport;
public class ServletApi_IoC2_XxxAware extends ActionSupport implements
ApplicationAware, SessionAware, RequestAware {
private Map<String, Object> application;
private Map<String, Object> session;
private Map<String, Object> request;
public void setApplication(Map<String, Object> application) {
this.application = application;
}
public void setSession(Map<String, Object> session) {
this.session = session;
}
public void setRequest(Map<String, Object> request) {
this.request = request;
}
public String setValue() {
application.put("userName", "存放在 application 中的 userName 吳永志");
session.put("userName", "存放在 session 中的 userName 吳永志");
request.put("userName", "存放在 request 中的 userName 吳永志");
return "success";
}
}
Struts 2 的 Servlet API
- 取值測試:(EL)
request.userName: 存放在 request 中的 userName 吳永志
session.userName: 存放在 session 中的 userName 吳永志
application.userName: 存放在 application 中的 userName 吳永志
- 取值測試:(OGNL)
request.userName: 存放在 request 中的 userName 吳永志
session.userName: 存放在 session 中的 userName 吳永志
application.userName: 存放在 application 中的 userName 吳永志
package servletApi.action;
import java.util.Map;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.SessionAware;
import org.apache.struts2.util.ServletContextAware;
import com.opensymphony.xwork2.ActionSupport;
public class ServletApi_IoC1_XxxAware extends ActionSupport implements ServletContextAware, SessionAware, ServletRequestAware {
private ServletContext context;
private Map<String, Object> session;
private HttpServletRequest request;
@Override //ServletContextAware
public void setServletContext(ServletContext context) {
this.context = context;
}
@Override //SessionAware
public void setSession(Map<String, Object> session) {
this.session = session;
}
@Override //ServletRequestAware
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
public String setValue() {
context.setAttribute("userName", "存放在 ServletContext 中的 userName 吳永志");
session.put("userName", "存放在 session 中的 userName 吳永志");
request.setAttribute("userName", "存放在 request 中的 userName 吳永志");
return "success";
}
}
Struts 2 的 Servlet API
- 取值測試:(EL)
request.userName: 存放在 request 中的 userName 吳永志
session.userName: 存放在 session 中的 userName 吳永志
application.userName: 存放在 ServletContext 中的 userName 吳永志
- 取值測試:(OGNL)
request.userName: 存放在 request 中的 userName 吳永志
session.userName: 存放在 session 中的 userName 吳永志
application.userName: 存放在 ServletContext 中的 userName 吳永志
package servletApi.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 ServletApi_ServletActionContext extends ActionSupport {
public String setValue() {
HttpServletRequest request = ServletActionContext.getRequest(); // 取得HttpServletRequest
request.setAttribute("userName", "存放在 request 中的 userName 吳永志");
HttpSession session = request.getSession(); // 取得HttpSession
session.setAttribute("userName", "存放在 session 中的 userName 吳永志");
ServletContext context = ServletActionContext.getServletContext(); // 取得ServletContext
context.setAttribute("userName", "存放在 ServletContext 中的 userName 吳永志");
return "success";
}
}
Struts 2 的 Servlet API
- 取值測試:(EL)
request.userName: 存放在 request 中的 userName 吳永志
session.userName: 存放在 session 中的 userName 吳永志
application.userName: 存放在 ServletContext 中的 userName 吳永志
- 取值測試:(OGNL)
request.userName: 存放在 request 中的 userName 吳永志
session.userName: 存放在 session 中的 userName 吳永志
application.userName: 存放在 ServletContext 中的 userName 吳永志