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

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-06-12
  • 2021-12-27
  • 2021-08-15
  • 2021-12-10
  • 2022-01-01
  • 2021-10-12
猜你喜欢
  • 2021-09-29
  • 2022-12-23
  • 2021-07-26
  • 2021-06-25
  • 2021-08-12
  • 2021-06-07
  • 2022-02-08
相关资源
相似解决方案