ValueStack

时间:2023-03-09 01:01:26
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:

ValueStack

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:

ValueStack

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:

ValueStack