访问web元素
来源:互联网 发布:淘宝不能登录 编辑:程序博客网 时间:2024/06/10 04:54
分别介绍两种方法来取得request、session、application和 HttpServletRequest、HttpSession、ServletContext
这里是第一种方法,不过不常用,过于依赖于容器
- public class LoginAction 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;
- }
- }
第二种方法:这种方法最常用!!!!struts标签访问,加“#”。
//只用这种方法!!!这种方法最常用(而且中间涉及到一种思想:控制反转或称依赖注入)
- package dalei;
- 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 Action_02 extends ActionSupport implements RequestAware,
- SessionAware, ApplicationAware {
- //IoC inverse of control(控制反转)
- //DI dependency injection(依赖注入)
- private Map<String, Object> request;
- private Map<String, Object> session;
- private Map<String, Object> application;
- //因为是Map类型的数据,所以不能再用以前的setAttribute。
- public String execute() {
- request.put("r1", "r1");
- session.put("s1", "s1");
- application.put("a1", "a1");
- return SUCCESS;
- }
- //负责把三个元素new()出来,容器帮忙来初始化。
- @Override
- public void setRequest(Map<String, Object> request) {
- this.request = request;
- }
- @Override
- public void setSession(Map<String, Object> session) {
- this.session = session;
- }
- @Override
- public void setApplication(Map<String, Object> application) {
- this.application = application;
- }
- }
- Action_02.java
- <action name="er"class="dalei.Action_02">
- <result>
- /hello.jsp
- </result>
- </action>
struts中,jsp页面取context中的值:
- <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>
- <s:debug />
- hello.jsp
第三种方法
- 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;
- }
- }
第四种方法
- 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 LoginAction 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();
- }
- }
- 访问web元素
- struts2访问web元素
- Struts2_访问Web元素
- Struts2访问 web 元素
- Struts2访问Web元素
- struts2访问web元素
- struts2访问web元素
- Struts2访问Web元素
- struts2访问web元素
- Struts2访问web元素
- Struts2访问web元素
- Struts2----访问Web元素
- Struts2_14_Struts2访问Web元素
- Struts2_访问Web元素
- struts2 访问web元素
- struts2访问WEB元素
- struts2访问web元素
- Action访问web元素
- VS常用快捷键
- Using OpenOCD with BeagleBoard-xM
- 重新ControlFile恢复数据库
- 学习、思考与分享的关系
- 打dota的惩罚
- 访问web元素
- 数据库迁移步骤
- 创建存储过程
- C# 生成高质量缩略图
- 隐藏asp.net页面中的控件的方法
- 物联网规划元旦前后出台 定十领域
- 让TextBox只输入金额或数字的方法
- 重建控制文件引发的一系列ORA
- loadrunner模拟多用户打BOSS压力测试(网页游戏)