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中第几个开始寻找,索引之前的都被截走了。