ValueStack
1.把list集合压入栈顶
/** * * 查找所有的用户 * @return */ public String findAll() { List<User> allUser = userService.findAllUser(); ValueStack valueStack = ActionContext.getContext().getValueStack(); valueStack.push(allUser); return SUCCESS; }
怎么取list集合(直接在栈顶取list集合的引用,就是不写value属性)
<s:iterator >
<s:property value="userName"/>
<s:property value="gender"/>
...
</s:iterator>
debug:
2.把Map集合压入栈顶
/** * * 查找所有的用户 * @return */ public String findAll() { List<User> allUser = userService.findAllUser(); ValueStack valueStack = ActionContext.getContext().getValueStack(); valueStack.set("allUser", allUser); return SUCCESS; }
怎么取Map集合(OGNL表达式,value的值为Map集合的key)
<s:iterator value="allUser" >
<s:property value="userName"/>
<s:property value="gender"/>
...
</s:iterator>
debug:
3.把动作类中List集合属性压入栈顶(一定要写setter和getter方法)
private List<User> allUser; /** * * 查找所有的用户 * @return */ public String findAll() { allUser = userService.findAllUser(); return SUCCESS; } public List<User> getAllUser() { return allUser; } public void setAllUser(List<User> allUser) { this.allUser = allUser; }
怎么取list集合(在栈顶取动作类中的PropertyName中的allUser,原理也是取得list集合引用)
<s:iterator value="allUser" >
<s:property value="userName"/>
<s:property value="gender"/>
...
</s:iterator>
debug: