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:

 

posted @ 2017-04-15 15:59  第九种格调的人生  阅读(136)  评论(0编辑  收藏  举报