首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

struts2 Action中获取request, response,Session对象的步骤

2012-09-18 
struts2 Action中获取request, response,Session对象的方法非IoC方式要获得上述对象,关键Struts 2.0中com.

struts2 Action中获取request, response,Session对象的方法
非IoC方式
   要获得上述对象,关键Struts 2.0中com.opensymphony.xwork2.ActionContext类。我们可以通过它的静态方法getContext()获取当前 Action的上下文对象。 另外,org.apache.struts2.ServletActionContext作为辅助类(Helper Class),可以帮助您快捷地获得这几个对象。

<pre name="code" name="code">package com.visit.frame.test;import java.util.Map;import javax.servlet.ServletRequest;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.apache.struts2.*;import org.apache.struts2.dispatcher.*;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;public class HelloAction extends ActionSupport{private String leaveMessage;public String execute(){this.setLeaveMessage("here me");///我们平时用的,这个很好理解HttpServletRequest    request = ServletActionContext.getRequest ();//HttpServletResponse   response=ServletActionContext.getResponse();HttpSession session=ServletActionContext.getRequest().getSession();///////通过ActionContext获得    ActionContext ac = ActionContext.getContext();           //request    HttpServletRequest request2 = (HttpServletRequest)ac.get(ServletActionContext.HTTP_REQUEST);           //response//    HttpServletResponse response2 = (HttpServletResponse)ac.get(ServletActionContext.HTTP_RESPONSE);           //session    Map session2= (Map) ac.get(ServletActionContext.SESSION);    Map session3=ac.getContext().getSession();//同上    Map session4=(Map) ac.get(ActionContext.SESSION);        //session对象被封装成Map,我们对Map操作就可以    Map session5=(Map)ac.getSession();    Map session6=ServletActionContext.getContext().getSession();//        request.setAttribute("request", "request0");    session.setAttribute("session", "session0");    request2.setAttribute("request2", "request2");        session2.put("session2", "session2");        session3.put("session3", "session3");    session4.put("session4", "session4");        session5.put("session5", "session5");    session6.put("session6", "session6");    return SUCCESS;}public String getLeaveMessage() {this.leaveMessage="hhhh";return leaveMessage;}public void setLeaveMessage(String leaveMessage) {this.leaveMessage = leaveMessage;}}


请求的页面是:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="s" uri="/struts-tags" %>

<html>
<head><title>Simple ha page</title></head>
<body>
    <h3>hahaha</h3>

    <h3>you success,ha</h3>
    <br>
    request---<%=request.getAttribute("request") %><br>
    request2----<%=request.getAttribute("request2") %><br>
    session--<%=session.getAttribute("session") %><br>
    <br>------
    session2--<%=session.getAttribute("session2") %><br>
    session3--<%=session.getAttribute("session3") %><br>
    session4--<%=session.getAttribute("session4") %><br>
    session5--<%=session.getAttribute("session5") %><br>
    session6--<%=session.getAttribute("session6") %><br>
   
</body>
</html>

热点排行