ValueStack

1,通过ValueStack取值
    1)调试标签,开发人员可以用来进行调试
        <s:debug/>
    2)直接输出栈顶的值
        <s:property/>
    *3)访问context对象
    *4)遍历集合
        <s:iterator value="users">
            <s:property value="name"/>
        </s:iterator>
    *5)按数字循环
        <s:iterator begin="1" end="3" var="k">
            <s:property value="#k"/>
        </s:iterator>
2,总结:
    1)ValueStack中有栈对象,该对象封装的是上面最常用的数据,即Action
    2)ValueStack中有context对象,该对象的类型 是Map,里面封装的是包括Action以及程序上下文所需要的数据在内的完整的数据。
    3)一般情况下,我们都是关注最常用的对象,即 栈对象,如果栈对象里面的数据不能满足要求,那么考虑从context中取值
    *4)重点要关注栈顶的变化
        --通常情况下,栈顶是Action
        --只有在循环过程中,栈顶变为本次循环的 循环变量,此刻Action位于栈的第二位
        --循环结束后,栈顶恢复成Action
3,Struts2对EL表达式的支持
    1)EL表达式默认从page,request,session,application这4个范围取值
    2)Struts2提供了对requerst对象的包装类,该类 覆写了request的getAttribute方法,在方法中会优先从原始的request对象取值,若取不到,再从ValueStack对象中取值。
    3)由于我们的资费列表,查询到的数据是放于 Action中,Action是放于ValueStack中,那么页面上我们写的EL表中得到的值。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值