在Action中如何得到Servlet中的一些对象如,request,session,application,response
2017-03-29 20:19
856 查看
学习Struts的心得1
在Action中如何得到Servlet中的一些对象如,request,session,application,response在MyEclipse中如何Install struts2,以及一些技巧
ModelDriver如何简化开发
Struts2如何异常处理
其实对于Action来说,其就相当于可以和jsp,模型java类打交道的Servlet,可以通过注入数据来获取jsp的请求数据,然后也可以在他的方法中使用Servlet中的一些API,来setAttribute啥的,不过他不像Servlet中有方法参数,他必须要获取,最后通过一些业务逻辑控制来return Result,是把,交给对应的物理视图
在Action类中直接通过ActionContext处理package study.servlet;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class StrutsServletAction extends ActionSupport {
/** * */ private static final long serialVersionUID = 1L; /** * @return */ public String execute() { //通过ActionContext对象来处理Servlet的对象;此时得不到具体的request,session,application对象。 ActionContext actionContext = ActionContext.getContext(); actionContext.put("request", "request:hello"); actionContext.getSession().put("session", "session:hello"); actionContext.getApplication().put("application", "application:hello"); return SUCCESS; }
}
2.
package study.servlet;
import javax.servlet.ServletContext;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.util.ServletContextAware;
import com.opensymphony.xwork2.ActionSupport;
/*
* 通过实现相关接口来获取实例对象
* 必须实现对应的set方法,一调用该action自动完成set注入,然后执行execute
*/
public class ServletAPI2Action extends ActionSupport implements ServletContextAware,ServletRequestAware,ServletResponseAware{
/** * */ private static final long serialVersionUID = 1L; ServletContext application; ServletRequest request; ServletResponse response; /** * @return */ public String execute() { application.setAttribute("application", "application:hello2"); request.setAttribute("request","request:hello2"); response.setBufferSize(10000); return SUCCESS; } @Override public void setServletContext(ServletContext application) { this.application=application; } @Override public void setServletResponse(HttpServletResponse arg0) { // TODO Auto-generated method stub response=arg0; } @Override public void setServletRequest(HttpServletRequest arg0) { // TODO Auto-generated method stub request=arg0; }
}
3.
package study.servlet;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
/*
* 通过ServletActionContext对象直接获取Servlet对象实例
*/
public class GetServletObjectMethodAction3 extends ActionSupport {
/** * */ private static final long serialVersionUID = 1L; /** * @return */ public String execute() { HttpServletRequest request = ServletActionContext.getRequest(); HttpServletResponse response = ServletActionContext.getResponse(); ServletContext application = ServletActionContext.getServletContext(); request.setAttribute("request", "request:hello3"); response.setBufferSize(20000); application.setAttribute("application", "application:hello3"); return SUCCESS; }
}
相关文章推荐
- Struts 2 的Action中如何获取request、response、session、application等web元素(2)
- Struts 2 的Action中如何获取request、response、session、application等web元素(1)
- truts2在Action中如何访问request,session,application(即ServletContext)对象
- Struts2:在Action类中获得HttpServletResponse,HttpServletRequest对象的四种方法
- asp中遍历一些对象(request,session,Application)
- ActionContext与ServletActionContext的区别及获取request、session等对象
- struts2的action中获得request response session 对象
- 五大对象response 、request 、session、 application、 serve
- struts2 Action 访问web对象(request,session,application)
- Struts2的Action中取得request,response,session等对象的方法
- 告诉你如何获得(struts2)request response session 对象
- Action 获取 request response session application
- jsp request、response、session、out、page、application、exception、pageContext、config对象详解
- Struts2在Action获取内置对象request,session,application(即ServletContext)
- [Struts2] 如何访问或添加request/session/application属性, 以及获取对象.
- struts2中获得request,session.application的四种方法 在Struts2的Action中获得request response session几种方法
- JSP 内置对象(request response session application out pageContext)
- struts2使用:Action如何使用request,session,application
- 获取HttpServletRequest / HttpSession / ServletContext / HttpServletResponse对象 .
- Struts2的Action中获取request,session,application对象