Struts2-从值栈获取list集合数据(三种方式)
生活随笔
收集整理的這篇文章主要介紹了
Struts2-从值栈获取list集合数据(三种方式)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
創建User封裝數據類
public class User {private String username;private String password;public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;} }創建ValueStackActiono邏輯操作類
import cn.web.body.User; import com.opensymphony.xwork2.ActionSupport;import java.util.ArrayList; import java.util.List;public class ValueStackActiono extends ActionSupport {private List<User> list=new ArrayList<>();public List<User> getList() {return list;}@Overridepublic String execute(){User user=new User();user.setUsername("k1");user.setPassword("hao");list.add(user);User user1 = new User();user1.setUsername("k2");user1.setPassword("zms");list.add(user1);return "success";} }配置Struts.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN""http://struts.apache.org/dtds/struts-2.0.dtd"> <struts><package name="myk" extends="struts-default" namespace="/"><action name="valueAction" class="cn.web.action.ValueStackActiono"><result name="success">/WebContent/ValueStack.jsp</result></action></package> </struts>第一種方式:創建如下jsp文件,核心代碼如下
<s:property value="list[0].username"/><s:property value="list[0].password"/><br><s:property value="list[1].username"/><s:property value="list[1].password"/>第二種方式:同上
<s:iterator value="list"><s:property value="username"/><s:property value="password"/></s:iterator>流程:通過迭代器遍歷的方式,遍歷list集合中的每一個User對象,然后進行輸出
第三種方式:同上
<s:iterator value="list" var="user"><s:property value="#user.username"/><s:property value="#user.password"/></s:iterator>流程:該方式最為常用,遍歷值棧list集合,得到每個User對象機制,把每次遍歷出來的User對象放到context里面。
獲取context里面數據的特點:寫ognl表達式,使用特殊符#(root和context兩種數據存放方式,該方式存在context提高了取數據得效率,減少了從root的壓力 ----- nice兄dei)
我們都知道context里面是以Map集合形式存在的(詳見我的博客),該方式會在context里面分配一個key-value的形式的空間,其中的key值就是代碼中的var屬性值,value就不必多說了。
總結
以上是生活随笔為你收集整理的Struts2-从值栈获取list集合数据(三种方式)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Struts2-向值栈中存放数据
- 下一篇: Struts2-拦截器原理