Struts2在页面中获得属性值的原理

本文详细介绍了在Struts2框架中如何利用ValueStack对象来封装和获取Action中的属性值。通过OGNL表达式,可以轻松访问这些信息。

        当我们在Action设置了某个属性后,Struts2将这些属性值全部封装在一个叫做struts.valueStack的请求属性里,在jsp页面中输出需要的请求信息,我们可以通过request.getAttribute("struts.valueStack");来获取包含全部输出信息的ValueStack对象。

        上面代码返回一个ValueStack对象,该对象封装全部的输出信息。该对象是Struts2使用的一个ValueStack对象,可以通过OGNL表达式非常方便的访问该对象封装的信息。

        从数据结构上看,ValueStack有点类似于Map结构,但它比Map结构更强大(因为它可以根据表达式来查询)。Action所有的属性被封装到了ValueStack对象中,Action中的属性名可以理解为ValueStack中的value的名字。

        大致了解了ValueStack对象结构之后,我们可以通过如下代码来获取Action设置的属性值。

        假设Action中有一个名为userName的属性

        <%

                ValueStack vs=(ValueStack)request.getAttribute("struts.valueStack");

                String userName=(String)vs.findValue("userName");

        %>

        输出Action中的userName属性:<%=userName%>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值