在action方法中,调用
ActionContext ctx = ActionContext.getContext();
ctx.put("tip", "Success");
然后在JSP页面上,调用 ${requestScope.tip} 就能输出tip 的值
小弟刚开始看struts2 , 想知道为什么调用 ctx.put() 方法,可以把一个属性添加到 request 中? 希望各位大侠多多帮忙啊
问题补充:BillyJoy 写道
ActionContext ctx = ActionContext.getContext();
ctx.getApplication().put("", "");//application作用域
ctx.getSession().put("", "");//session作用域
ctx.put("", ""); //request作用域
谢谢你的回答。
我想知道的是 ctx.put("", "");是怎样把一个属性放到request中的?在源代码里找了好久也没有找到相关的语句。。。。。。。。。
对于session,通过以下语句,application也是一样的,但在ActionContext中没有getRequest()方法,所有比较晕。。。。。
ActionContext.getSession()方法返回sessionMap
public Map<String, Object> getSession() {
return (Map<String, Object>) get(SESSION);
}
sessionMap 中的put方法,调用session.setAttribute(key.toString(), value);
public V put(K key, V value) {
synchronized (this) {
if (session == null) {
session = request.getSession(true);
}
}
synchronized (session) {
V oldValue = get(key);
entries = null;
session.setAttribute(key.toString(), value);
return oldValue;
}
}
相关推荐
本文档将详细介绍如何在Struts2框架中创建一个登录验证拦截器,以确保除了登录请求外,所有其他请求都会被拦截,并检查用户的登录状态。 #### 登录校验拦截器的工作原理 登录校验拦截器的主要作用是检查用户是否...
本文将重点讨论Struts2中的API耦合和动态方法调用,这两种特性对于理解框架的工作原理和提高代码的灵活性至关重要。 首先,我们来看看Struts2 API耦合的几种方式: 1. **ActionContext类**:ActionContext是Struts...
在Struts2中,可以通过ActionContext类访问ServletContext。 1. 访问Application域: ```java ActionContext context = ActionContext.getContext(); Map, Object> applicationMap = context.getApplication(); ...
Struts2中的范围对象 #### 1.1 ActionContext **ActionContext** 是Struts2框架中的一个核心组件,它为Action提供了上下文环境。通过调用 `ActionContext.getContext()` 方法可以获得当前的ActionContext实例。...
在描述中提到的"ActionContext",它是Struts2中的一个重要类,用于管理请求上下文中的数据。ActionContext持有请求和响应的相关信息,包括参数、值栈以及Action上下文等,使得开发者可以方便地访问这些信息。 在...
- ValueStack是Struts2中的一个重要概念,它是一个Ognl(Object-Graph Navigation Language)表达式栈,用于存储Action实例和其他对象,方便视图层访问数据。 - 在ValueStack中,Action实例位于栈顶,使得可以直接...
在Struts2中,`session`对象通常被封装成`SessionMap`的形式。获取`SessionMap`对象的方法有: ```java // 方法A Map session = ActionContext.getSession(); // 方法B Map session = (Map) ActionContext....
总之,ActionContext是Struts2中连接Action与其它组件的关键桥梁,它提供了存储和传递请求处理过程中所需数据的便利机制。理解和正确使用ActionContext对于开发高效且健壮的Struts2应用至关重要。
通过ActionContext.getContext().getSession().put("random", randomNum.getRandomCode())将数字存放到session当中 2、当你登录时候,提交的输入框中的验证码和session中存放的验证码比较,如果一样,则通过,不一样,则...
在Struts2中,结果(Result)是动作(Action)执行后跳转的目标,它可以是一个JSP、Servlet或其他资源。有时我们需要在Action执行后向结果传递参数,以便在目标页面中使用这些参数来呈现数据或执行某些逻辑。本文将...
在Struts2中,`ModelDriven`接口用于实现MVC模式中的Model层。当一个Action类实现了`ModelDriven`接口后,它必须提供一个`getModel()`方法,该方法返回一个业务对象,这个对象将作为视图的数据模型。 例如: ```...
在Struts2中,可以通过`ValueStack`或`ActionContext`来访问请求范围。例如,可以在Action中设置: ```java public class MyAction { public String execute() { ActionContext.getContext().getValueStack()....
### 学习OGNL在Struts2中的工作原理 #### OGNL简介 OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置Java对象的属性。它是Struts2框架的一个核心特性之一,被广泛应用于框架的...
3. 生成令牌:在Action中,如`execute()`方法之前,使用`ActionContext.getContext().getSession().put("token", UUID.randomUUID().toString());`生成并存储令牌。 4. 显示令牌:在JSP页面的表单中,通过`...
在Struts2中,Action是处理用户请求的核心组件,它负责业务逻辑的处理。有时我们需要在不同的Action之间共享数据,这时可以利用HttpSession接口来实现。下面将详细讲解如何在Struts2的Action中使用session。 首先,...
总的来说,JavaEE ActionContext是Struts2中实现数据交互的关键工具,它与OGNL结合,使我们在处理请求和响应时能更灵活、高效地操作数据。了解并熟练掌握ActionContext的使用,将对提升JavaEE应用的开发效率大有裨益...
本资源通过使用Struts2来实现一个简单的计算器应用,旨在帮助学习者理解如何在实际项目中应用Struts2的核心概念和技术。 首先,我们需要理解Struts2的基本架构。Struts2框架的核心是Action类,它是业务逻辑的载体。...
ActionContext 类是 Struts2 框架中一个重要的类,它提供了多种方法来访问 Servlet API。该类可以模拟获取 request、session 和 application 的 Map 对象。常用的方法包括: * static ActionContext getContext() :...
在Struts2配置文件(struts.xml)中,我们需要定义Action的配置,指定Action类、方法映射以及结果页面。例如: ```xml <package name="default" namespace="/" extends="struts-default"> ...
在Struts2中,一个常见的需求是确保用户在访问某些受保护的页面之前已经登录。本文将深入探讨如何使用Struts2结合session来实现用户登录检查。 首先,我们需要理解session的概念。在Web开发中,session是一种服务器...