<%@ page import="com.opensymphony.xwork2.*"%>
<%@ page import="com.opensymphony.xwork2.util.*"%>
<%@ page import="java.util.*"%>
<%
ActionContext cxt = ActionContext.getContext();
out.println("<h2>ValueStack</h2>");
ValueStack stack = cxt.getValueStack();
List list = (List) stack.getRoot();
for (int i=0; i<list.size(); i++)
{
out.print("<FONT Color='Red'>" + list.get(i)+"</FONT>");
out.println("<BR/>");
}
out.println("<h2>ContextMap</h2>");
Map map = cxt.getContextMap();
Set set = map.entrySet();
for (Iterator it = set.iterator(); it.hasNext();)
{
Map.Entry es = (Map.Entry) it.next();
// key
out.print("<B><Font Color='Red'>"+es.getKey()+"</FONT></B>");
// value
out.print("=" + es.getValue());
out.println("<br/>");
}
%>
分享到:
相关推荐
ActionContext是Struts2框架中一个关键的组件,它提供了当前请求上下文的信息,而OGNL(Object-Graph Navigation Language)则是Struts2中的表达式语言,用于在模型和视图之间进行数据传递。下面将详细探讨这两个...
在Struts2中,OGNL表达式的使用大大提升了代码的可读性和维护性。 首先,`#`字符在OGNL中扮演着关键角色。它主要用于访问OGNL上下文和Action上下文。`#`前缀可以用来获取`ActionContext`,这包含了四个重要的域:...
在Struts2中,你可以创建领域对象,通过setter和getter方法来接收和设置请求参数,这些对象可以在多个Action之间共享,提高了代码的复用性。 4. **Struts2_2.1.6版本的中文问题** 在某些版本的Struts2中,可能出现...
ValueStack是Struts2框架的核心组件之一,它是一个存储ActionContext中的值的对象栈。ValueStack的主要功能是处理视图和模型之间的数据传递。在Struts2中,Action类的属性可以直接映射到JSP页面上的标签,这是因为...
在Struts2中,可以使用ActionContext来获取请求参数和Session信息,使用ValueStack来存储和获取数据。Struts2也支持使用OGNL表达式来访问和操作数据。 Struts2提供了强大的标签库,包括s标签、sx标签、ui标签等,...
ValueStack是Struts2框架中的核心组件之一,它是ActionContext和ActionInvocation之间的一个数据传递层,负责在Action与视图之间传递和管理数据。ValueStack的作用在于简化模型-视图-控制器(MVC)架构中的数据交互...
在Struts2中,Action类是业务逻辑的载体,每个Action对应用户的一个请求。Action可以通过实现`com.opensymphony.xwork2.Action`接口或继承`org.apache.struts2.actions.support.AbstractActionSupport`基类来创建。...
在Struts 2中,ActionContext类提供了对值栈的访问,可以通过`ActionContext.getContext().getValueStack()`获取值栈。一旦获取到值栈,就可以通过栈的各种操作(如push、pop)来添加或移除对象,以及通过OGNL表达式...
例如,你可以使用`ActionContext.getContext().get("key")`来获取请求或会话中的值,而`ActionContext.getContext().getValueStack()`则可以获取ValueStack,它是Struts2中处理模型驱动的一个关键部分。 2. **...
OGNL是Struts2中用于对象属性访问和表达式语言,它允许在Action、ValueStack和视图层之间传递数据。ValueStack是一个对象栈,它持有ActionContext上下文中的所有对象,包括Action实例、ActionForm、Session、Request...
ValueStack是Struts2中用于管理Action实例和模型对象的栈结构。通过Ognl(Object-Graph Navigation Language)表达式,我们可以直接在JSP页面中访问ValueStack中的任何对象和属性。例如,`...
总之,ActionContext是Struts2中连接Action与其它组件的关键桥梁,它提供了存储和传递请求处理过程中所需数据的便利机制。理解和正确使用ActionContext对于开发高效且健壮的Struts2应用至关重要。
Struts2中的ValueStack是模型部分的重要组成部分,它可以方便地处理Action对象与页面之间的数据传递。我们可以在Action中直接通过栈顶对象(通常是Action实例)的属性来获取和设置请求参数。例如: ```java ...
OGNL(Object-Graph Navigation Language)是Struts2中用于表达式语言,它用于在Action、ValueStack和视图之间传递数据。OGNL允许在JSP或其他视图技术中动态访问Action的属性,进行条件判断和控制流程。 Struts2的...
在Struts2中,还可以使用OGNL(Object-Graph Navigation Language)表达式语言来访问和操作ValueStack上的对象和属性。例如,在JSP中,我们可以直接使用`<s:property value="name" />`标签来显示`name`参数的值。 ...
- 在Action类中,使用`ValueStack`或`ActionContext`来设置HTTP响应的`Content-Type`和`Content-Disposition`头。`Content-Type`定义了文件的MIME类型,`Content-Disposition`指定文件名以及是否在浏览器窗口中打开...
4. **Action类处理逻辑**:Action类中模拟数据,然后将数据模型设置到ValueStack或者ActionContext中。 5. **测试运行**:运行项目,浏览器访问Action,由Struts2调用Velocity渲染页面。 通过这个"struts2+Velocity...
5. **XWork2**:Struts2是在XWork框架的基础上发展起来的,XWork提供了Action管理和执行的核心机制,包括ActionContext、ValueStack等关键组件。 6. **运行流程**:当一个请求到达服务器,Struts2框架会解析`struts...
在Struts2中,结果表示Action执行后的输出,可以通过配置XML或注解定义不同的结果类型,如`dispatcher`(用于转发到JSP页面)、`stream`(用于流式输出)等。 3. **XWork2 API**:XWork是Struts2的核心,提供了一套...