在Struts2里,如果需要在Action中使用session,可以通过下面两种方式得到1.通过ActionContext class中的方法getSession得到2.Action实现org.apache.struts2.interceptor.SessionAware接口的方式来对session进行操作下面先看一个采用第一种方式,在action中得到session的例子
package s2.ex.action;
import java.util.Map;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class SessionTestAction extends ActionSupport {
public String execute() {
ActionContext actionContext = ActionContext.getContext();
Map session = actionContext.getSession();
session.put("USER_NAME", "Test User");
return SUCCESS;
}
}在这个例子中,通过ActionContext得到session,并往session里放置一个key为USER_NAME,值为Test User的内容。下面是一个实现org.apache.struts2.interceptor.SessionAware接口来对session操作的例子
package s2.ex.action;
import java.util.Map;
import org.apache.struts2.interceptor.SessionAware;
import com.opensymphony.xwork2.ActionSupport;
public class SessionTest1Action extends ActionSupport implements SessionAware {
private Map session;
public void setSession(Map session) {
this.session = session;
}
public String execute() {
this.session.put("USER_NAME", "Test User 1");
return SUCCESS;
}
}
在这个例子中实现了接口SessionAware中的setSession方法。上面两种方式都可以得到session,能实现的功能都是一样的。这里推荐通过第二种方式来使用session,原因是便于做单体测试,用第二种方式,只需要构造一个Map就可以对action class进行单体测试了。
分享到:
相关推荐
在 Struts2 中,要使用 Session,需要实现 SessionAware 接口,该接口提供了一个 setSession 方法,用于将 Session 对象传递给 Action。在 Login.java 文件中,我们可以看到,Login 类实现了 SessionAware 接口,并...
在Struts2中,我们可以直接在Action类中注入HttpSession来访问session。以下是具体步骤: 1. **依赖注入**:首先,确保Action类继承自Struts2提供的`ActionSupport`类或自定义的Action支持类,并且已经添加了对...
以下将详细介绍如何在Struts2的Action中获取request、response、session。 ### 1. 使用ActionContext获取request、response、session Struts2的Action可以通过`ActionContext`来间接获取`request`、`response`和`...
OGNL是Struts2中强大的表达式语言,它允许开发者直接在JSP或Action中通过表达式来访问request、session和application中的数据。例如,`<s:property value="#session['key']" />`可以在页面上显示session中的值。在...
在Struts2中,访问Web资源,如application、session和request,是常见的操作,这有助于实现数据共享和传递。本示例代码将帮助开发者更好地理解和运用这些功能。 一、Application域对象 Application域对象在所有用户...
在 Struts2 中,处理用户请求时经常需要使用到 Servlet 的内置对象,比如 Request、Session 和 Application,这些对象可以帮助开发者存储和获取数据。然而,在实际应用中,为了避免代码与 Servlet API 过度耦合,...
通过这样的配置,Struts2框架会在执行任何需要登录的Action之前,先检查用户是否已经登录(通过Session中的 `systemUser` 对象)。如果未登录,会重定向到登录页面。这种方式可以有效地保护应用程序的资源,防止未...
### STRUTS2中获取Session和Request的方法 在STRUTS2框架中,有多种方式可以访问`session`和`request`对象。下面我们将详细介绍其中的两种主要方法:实现接口法和使用ActionContext。 #### 实现接口法 STRUTS2...
在Struts2中,Action是核心组件之一,它负责处理用户的请求,并将业务逻辑的结果返回给视图进行展示。本实例将深入探讨在基于用户登录场景下,如何在Struts2中对Action进行分类和设计。 首先,我们需要了解Struts2...
接下来,我们将深入探讨Struts2中如何创建和使用这些范围。 1. 请求(Request)范围: 在HTTP协议中,每个请求都是无状态的,因此,如果要在多个Action之间共享数据,可以将数据存储在请求范围内。在Struts2中,...
1. **Struts2框架**:Struts2是Apache软件基金会下的一个开源项目,它基于MVC设计模式,提供了强大的Action、拦截器、结果类型等机制,使得开发者可以更高效地进行Web应用开发。在权限控制方面,Struts2提供了拦截器...
在Struts2中,Action是核心组件,负责处理用户请求并返回相应的结果。在这个特定的场景中,我们讨论的是如何在Struts2中创建一个能够生成中文验证码的Action。 验证码的主要目的是防止自动机器人或恶意攻击,通过向...
1. **配置拦截器**:在struts.xml配置文件中,我们需要添加tokenSession拦截器到相应的action配置中。例如: ```xml <interceptor name="tokenSession" class="org.apache.struts2.interceptor....
6. **查看Action上下文**:Struts2的ActionContext封装了当前请求的所有上下文信息,如session、parameters等。在调试时,可以检查ActionContext中的内容来了解请求的状态。 7. **处理结果类型**:调试时,要留意...
本文将重点讨论Struts2中的API耦合和动态方法调用,这两种特性对于理解框架的工作原理和提高代码的灵活性至关重要。 首先,我们来看看Struts2 API耦合的几种方式: 1. **ActionContext类**:ActionContext是Struts...
在Struts2中,模型负责业务逻辑,视图负责展示数据,而控制器接收用户请求并协调模型和视图的交互。 2. **Struts2入门**: 创建一个简单的Struts2应用通常涉及以下步骤: - 引入Struts2库:在项目中添加Struts2的...
- OGNL是Struts2中的表达式语言,用于在Action和视图之间传递数据。它可以访问对象的属性,执行方法,甚至进行复杂的运算和控制结构。 7. **插件(Plugins)** - Struts2支持多种插件来扩展功能,如Struts2-dojo-...
在Struts2中,Action类是核心组件,它扮演着控制器的角色,负责处理用户请求并驱动模型。以下是对"struts2中action的使用"的详细解释。 1. **Action类**:Action类是Struts2框架中的核心组件,它继承自`...
在本篇文章中,我们将深入探讨Struts2中的Action及其相关知识点。 Action是Struts2框架中处理用户请求的核心实体,它是业务逻辑与视图层之间的桥梁。一个Action类通常对应一个特定的用户操作或者业务场景。Action类...
Struts通过Action类处理用户请求,并通过配置文件定义请求到特定Action的映射。此外,它还利用Tiles框架来实现页面布局和重用。 【EL】 Expression Language(EL)是JSP 2.0及更高版本中的一个内置组件,用于在JSP...