Struts2请求动作的数据操作---ValueStack 之二

1.ValueStack的其他方法

a、setValue方法
这里写图片描述
这里写图片描述
这里写图片描述
在Jsp页面上获取【李四】
这里写图片描述
b、set方法
这里写图片描述
这里写图片描述
这里写图片描述
c、findValue:我们在Jsp上调用的都是findValue
这里写图片描述
这里写图片描述
细节问题:
当按照如下方式,往根中存放数据时,根中元素是什么顺序?

    private String name = "动作类是的name";
    public String demo2(){
        ActionContext context = ActionContext.getContext();
        ValueStack vs = context.getValueStack();
        vs.push(new Student("泰斯特",21));
        vs.setValue("#name", "张三");
        vs.setValue("name", "李四");
        vs.set("s1", new Student("王五",18));
        vs.push(new Student("test",23));
        vs.set("s2", new Student("aaa",18));
        return "success";
    }

jsp显示为:

        0---name: <s:property value="[0].name"/></br>
        1---name:<s:property value="[1].name"/></br>
        2---name: <s:property value="[2].name"/></br>
        3---name: <s:property value="[3].name"/></br>
        4---name: <s:property value="[4].name"/></br>
        <s:debug></s:debug> 

运行界面结果为:

0---name: test
1---name:test
2---name: 李四
3---name: 李四
4---name: 动作类是的name

这里写图片描述
分析:jsp界面上的[ ]里的数字是索引。调用的是CompoundRoot中的cutStack方法,索引是几从ValuStack中第几个开始寻找,索引之前的都被截走了。

猜你喜欢

转载自blog.csdn.net/lucky_zfx/article/details/79123928