1. 访问和添加request/session/application属性
如果只是往request/session/application中设置属性,可以用下面的方式
Java代码
ActionContextctx=ActionContext.getContext();
ctx.getApplication().put("app","应用范围");//往ServletContext里放入app
ctx.getSession().put("ses","session范围");//往session里放入ses
ctx.put("req","request范围");//往request里放入req
ctx.put("names",Arrays.asList("老张","老黎","老方"));
ActionContext ctx = ActionContext.getContext(); ctx.getApplication().put("app", "应用范围");//往ServletContext里放入app ctx.getSession().put("ses", "session范围");//往session里放入ses ctx.put("req", "request范围");//往request里放入req ctx.put("names", Arrays.asList("老张", "老黎", "老方"));
jsp页面上获取方式
Java代码
${applicationScope.app}<br>
${sessionScope.ses}<br>
${requestScope.req}<br>
${applicationScope.app}<br> ${sessionScope.ses}<br> ${requestScope.req}<br>
2. struts2中如何获取httpServletRequest/HttpSession/ServletContext/HttpServletResponse对象
方法一,通过ServletActionContext类获取:(推介使用)
Java代码
publicStringrsa()throwsException{
HttpServletRequestrequest=ServletActionContext.getRequest();
ServletContextservletContext=ServletActionContext.getServletContext();
request.setAttribute("req","请求范围属性");
request.getSession().setAttribute("ses","会话范围属性");
servletContext.setAttribute("app","应用范围属性");
HttpServletResponseresponse=ServletActionContext.getResponse();
return"message";
}
public String rsa() throws Exception{ HttpServletRequest request = ServletActionContext.getRequest(); ServletContext servletContext = ServletActionContext.getServletContext(); request.setAttribute("req", "请求范围属性"); request.getSession().setAttribute("ses", "会话范围属性"); servletContext.setAttribute("app", "应用范围属性"); HttpServletResponse response = ServletActionContext.getResponse(); return "message"; }
方法二,实现指定接口,由struts框架注入:
Java代码
importcom.opensymphony.xwork2.ActionContext;
publicclassHelloWorldAction2implementsServletContextAware,ServletRequestAware,ServletResponseAware{
privateHttpServletRequestrequest;
privateHttpServletResponseresponse;
privateServletContextservletContext;
publicvoidsetServletContext(ServletContextcontext){
//context对象不是应用程序传进去的,而是由struts框架自动注入的
this.servletContext=context;
}
publicvoidsetServletRequest(HttpServletRequestrequest){
this.request=request;
}
publicvoidsetServletResponse(HttpServletResponseresponse){
this.response=response;
}
分享到:
相关推荐
在 Struts2 中,处理用户请求时经常需要使用到 Servlet 的内置对象,比如 Request、Session 和 Application,这些对象可以帮助开发者存储和获取数据。然而,在实际应用中,为了避免代码与 Servlet API 过度耦合,...
在Struts2框架中,理解并正确使用request、response、session和application范围对于有效地管理数据和状态至关重要。这些范围帮助我们在Web应用程序中实现逻辑和数据流的分离,提高代码的可维护性和可扩展性。通过...
1. **访问或添加三个范围的属性与获取Request-Session-ServletContext-Response对象.rar** - Struts2允许开发者在不同的范围内存储和访问数据,包括Action级(请求)、Session级和Application级(ServletContext)...
本学习笔记结合测试源代码深入探讨了如何在Struts2框架下获取并使用`request`、`session`、`ServletContext`以及`response`对象,这些都是在Web开发中不可或缺的基础组件。 ### request对象 `HttpServletRequest`...
当我们需要从JSP页面传递参数到Action类时,Struts2提供了多种方式来获取这些参数。以下是关于如何在Struts2中Action获取JSP页面参数以及相关上下文对象的详细说明: 1. **ActionContext获取请求参数** - `...
在Struts2中,操作Servlet API 的BaseAction 包括获取Request对象、获取Session对象、获取ServletContext对象、获取Response对象
1. **pageContext**:提供了对JSP页面上下文的访问,包括servletContext、session、request和response等对象。 - `${pageContext.servletContext}`: 访问servlet上下文 - `${pageContext.session}`: 获取session...
- `ServletActionContext`可用于获取`request`、`response`和`servletContext`对象,但不提供直接获取`session`的方法。 #### 三、Struts.xml中package标签的详细配置说明 **1. 基本属性**: - **name**:包的...
以下是关于Struts2.1中获取Servlet对象的三种方法的详细解释: ### 方法一:直接通过ActionContext访问 在Struts2中,`ActionContext`是用于在Action和Servlet上下文之间传递数据的桥梁。通过`ActionContext`,...
<listener-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</listener-class> <!-- 配置WebContextLoaderListener --> <listener-class>org.springframework.web.context....
- 继承方式:Struts1使用抽象类,Struts2采用接口或继承ActionSupport - 线程模式:Struts1的Action是单例,线程安全;Struts2的Action为每个请求创建实例 - Servlet依赖:Struts1的Action直接依赖Servlet API,...
在Struts2框架中,有时我们需要直接访问Servlet相关对象,如HttpServletRequest、HttpSession和ServletContext,以实现特定的功能。本文将探讨如何在Struts2中访问和操作这些对象。 **一、访问或添加request/...
根据提供的华为Java面试题,我们将深入探讨两个主要概念:Struts框架体系结构及其开发工作,以及JSP中的内置对象和动作。 ### 1. Struts框架体系结构 #### 概述 Struts是一个用于构建企业级Java Web应用程序的开源...
然而,在实现业务逻辑时,经常需要访问 Servlet 中的对象,如 request、session 和 application 等。因此,Struts2 提供了三种方式来访问 Servlet API,这三种方式分别是实现特定接口、通过 ServletActionContext 类...
JavaBean可以在page、request、session或application范围内实例化和使用,提供了方便的数据管理和共享机制。 Struts框架通过这些组件协同工作,实现了高效、可维护的Web应用开发。它的核心思想是解耦视图、控制和...
例如,可以使用${pageContext.servletContext}来获取当前页面的上下文环境,通过${pageContext.session}获取当前用户会话,使用${pageContext.request}来操作请求,以及${pageContext.response}来操作响应。...
此外,HttpSession和ServletContext对象分别用于存储session和application级别的共享数据。 1.2 JSP组件 JSP是一种结合了HTML和Java的页面,它的执行过程涉及到JSP容器将JSP转换为Servlet源码,再编译为Servlet类。...
- **隐式对象**:预定义的对象,可以直接在 JSP 页面中使用,如 request、response、session 等。 - **标准动作**:如 jsp:useBean、jsp:include 等,用于执行常见的页面操作。 #### 第三章:开始学习 Struts **...
本手册涵盖了JavaEE的基础知识、JSP、Servlet、EL表达式、Struts2框架等方面的内容,旨在帮助开发者快速掌握JavaEE的开发技术。 一、JSP(Java Server Pages) JSP是一种用于创建动态网页的技术,允许开发者在HTML...