`

JSP页面获取ValueStack中的值

阅读更多
我们知道Struts2会将Action中的属性存放到ValueStack对象中,在通过Action转发的页面中,我们可以通过Struts2 的标签<s:property/>来输出这些值,但是这样得到的值却仅限于输出显示,不能进行进一步的操作,那么我们应该怎样得到 ValueStack中的值又能对它进行其他操作呢?

首先,我们需要了解Struts2是将Action中的属性全部封装在一个叫做struts.valueStack的请求属性中,然后我们就可以通过下面的代码来获取这些值了:


Html代码

   1. <%@ page import="com.opensymphony.xwork2.util.*"%> 
   2. <%  
   3. ValueStack vs = (ValueStack)request.getAttribute("struts.valueStack"); 
   4. List someThing= (List)vs.findValue("someThing"); 
   5. %> 

<%@ page import="com.opensymphony.xwork2.util.*"%>
<%
ValueStack vs = (ValueStack)request.getAttribute("struts.valueStack");
List someThing= (List)vs.findValue("someThing");
%>

someThing是Action中属性值的名称。
分享到:
评论

相关推荐

    ValueStack使用参考

    5. **视图呈现**:视图(如JSP、Freemarker等)通过OGNL表达式从ValueStack中获取数据,并显示在页面上。 **三、ValueStack的操作方法** 1. **压入对象**:`ValueStack.push(Object object)` 将对象压入栈顶,使其...

    s20505_valueStack_OGNL

    在Struts2框架中,OGNL被用来在Action类与JSP页面之间传递数据,通过简单的表达式可以方便地获取或设置对象属性。 2. **OGNL语法**:OGNL表达式通常以`.`操作符为核心,例如`user.name`表示获取名为`user`的对象的`...

    jsp源码(非常好)

    3. **脚本元素**:JSP允许在页面中使用 `! %&gt;` 和 `&lt;script&gt;` 标签来编写Java代码。`! %&gt;` 用于声明变量和方法,而 `&lt;script&gt;` 可以包含Java代码块,这些代码在页面被请求时执行。 4. **JSP指令**:比如 `&lt;%@ %&gt;` ...

    获取 STRUTS2 FIELDERROR

    // 在JSP页面中获取并显示错误信息 String valueStack = (String) request.getAttribute("struts.valueStack"); // 假设valueStack中包含了所有错误信息 if (valueStack != null) { // 进一步处理valueStack中的...

    Struts2的三种传值方式比较(附demo)

    通过Ognl(Object-Graph Navigation Language)表达式,我们可以直接在JSP页面中访问ValueStack中的任何对象和属性。例如,`&lt;s:property value="#attr.actionProperty"/&gt;`或`...

    OGNL百度百科OGNL百度百科

    在 Struts2 中,OGNL 需要与 ValueStack 进行交互,以方便在 JSP 页面中直接通过 EL 方式访问 ValueStack 中的对象。ValueStack 是一个保存所有请求数据的对象栈,它包含了一个或多个根对象。 例如: - `${foo}` ...

    Struts2访问request,session,application的四种方式

    例如,你可以使用`ActionContext.getContext().get("key")`来获取请求或会话中的值,而`ActionContext.getContext().getValueStack()`则可以获取ValueStack,它是Struts2中处理模型驱动的一个关键部分。 2. **...

    struts2标签和OGNL表达式

    在JSP页面中,可以直接通过EL表达式访问ValueStack中的对象属性,如`${foo}`表示获取栈中某个对象的"foo"属性。如果需要访问其他上下文中的对象,如ServletContext、HttpSession、HttpServletRequest的属性,就需要...

    ognl表达式 ognl表达式

    在Struts2框架中,OGNL表达式被广泛应用于视图层,比如在JSP页面中用来获取数据。OGNL表达式的语法简洁明了,例如: - **直接调用方法**:`xxx.sayHello()`。 - **访问静态方法和常量**:`@java.lang.String@format...

    struts学习笔记(3)

    当一个Action执行完毕后,Struts2会自动将Action中的数据保存到`ValueStack`中,以便在页面上可以通过特定的方式获取这些数据。 - **`ActionContext`**:除了`ValueStack`之外,`ActionContext`也是Struts2中非常...

    OGNL表达式语言浅谈.pdf

    在JSP页面中,访问session、request、application等对象时,需要使用前缀`#`来指示Struts2不要从ValueStack中查找,例如`#session.infomation`。 OGNL表达式的语法非常灵活,支持`.`和`['']`两种方式访问对象属性。...

    Struts2的doubleselect标签演示

    3. **ValueStack**:Struts2使用ValueStack来存储Action对象和其他值,使得在JSP页面可以直接通过OGNL(Object-Graph Navigation Language)表达式访问这些对象和值。 4. **OGNL表达式**:在JSP页面中,我们可以...

    学习OGNL在Struts2中工作原理

    在JSP页面中获取并显示该值: ```jsp ``` 2. **访问不同作用域的数据**: 在Action中设置请求范围的数据: ```java ActionContext.getContext().getValueStack().set("test1", "lovejava1"); ``` 或者...

    struts2中OGNL的一些概念及原理说明

    2. **使用EL表达式获取ValueStack中的数据**:通过EL表达式的搜索机制,可以在未找到相应域对象的值时从`ValueStack`中查找所需的值。 #### 四、Struts2中EL表达式的使用 在Struts2框架中,EL表达式的搜索顺序非常...

    45-使用Struts + DAO + Hibernate完成分页.rar

    7. JSP页面从ValueStack中获取数据并展示,实现分页显示。 这个项目提供了关于如何在实际应用中集成Struts、DAO和Hibernate的实例,对于理解这些技术的协同工作以及在Java Web开发中实现分页功能具有很高的学习价值...

    详解Java的Struts框架中栈值和OGNL的使用

    在这个例子中,当`execute`方法执行时,`key1`和`key2`被推入值栈,然后在JSP页面上可以通过OGNL表达式访问这些值。 **总结** 在Struts 2框架中,值栈和OGNL的使用大大简化了数据在模型、视图和控制器之间的传递,...

    struts2标签库

    数据访问标签,如`&lt;s:set&gt;`和`s:get&gt;`,用于在ValueStack中设置和获取值,实现数据的传递和操作。此外,Struts2还提供了Ajax标签,用于支持异步JavaScript和XML的交互,增强用户体验。 ValueStack是Struts2框架中的...

    Webwork2-Guide.rar_webwork2

    6. 视图层(如JSP)从ValueStack中获取数据,渲染输出。 三、Webwork2中的MVC模式 1. **Model**: 业务模型,包含业务对象和业务逻辑,与数据库交互,处理数据。 2. **View**: 视图,主要由JSP或其他模板技术组成...

Global site tag (gtag.js) - Google Analytics