与Web页面的交互之迭代器的使用

来源:互联网 发布:网络怎么开发客户 编辑:程序博客网 时间:2024/06/05 06:04

前言

  • 在项目中用OGL表达式程序猿想必都熟悉迭代器的使用吧!我们在后台将数据一各种方式存入值栈,或者存入各种域,为了实现与页面的交互,我们还得在页面中将这些数据取出来,从而显示在页面上,那么小编今天给大家总结一下在OGL表达式中,常用迭代器的使用。

1、后台以List<XXX>方式将数据存入域中

public String list(){        Department department = new Department();        department.setName("妹纸");        department.setDescription("真漂亮");        List<Department> departments = new ArrayList<Department>();        departments.add(department);            ActionContext.getContext().put("list", departments);        return "list";    }

前台取数据的方式

<s:iterator value="#list">        <s:property value="name" />        <s:property value="description" /></s:iterator>

2、后台以Map的方式将数据存入域中

public String map(){        Department dp=new Department();        dp.setName("妹纸");        dp.setDescription("真漂亮");        Map<String,Department> map=new HashMap<String ,Department>();        map.put("d1", dp);        ActionContext.getContext().put("map", map);        return "list";    }

前台取数据的方式

<s:iterator value="#map">    <!--         如果迭代map,当前迭代的元素在栈顶,是entry     -->    <s:property value="key"/>    <s:property value="value.name"/></s:iterator>

3、后台以List<Map<XXX,XXX>>方式将数据存入域中

public String listMap(){        List<Map<String,Department>> list =new ArrayList<Map<String,Department>>();        Department dp=new Department();        dp.setName("妹纸");        dp.setDescription("真漂亮");        Map<String,Department> map=new HashMap<String ,Department>();        map.put("d1", dp);        list.add(map);        ActionContext.getContext().put("list", list);        return "list";    }

前台取数据的方式

<s:iterator value="#list">     <s:iterator>        <s:property value="key"/>        <s:property value="value.name"/>    </s:iterator> </s:iterator>

4、后台以Map<XXX,List<XXX>>的方式将数据存入域中

public String mapList(){        Map<String,List<Department>> map=new HashMap<String,List<Department>>();        Department dp=new Department();        dp.setName("妹纸");        dp.setDescription("真漂亮");        List<Department> dps=new ArrayList<Department>();        dps.add(dp);        map.put("这是map的key", dps);        ActionContext.getContext().put("map", map);        return "list";    }

前台取数据的方式

<s:iterator value="#map">     <s:property value="key"/>     <s:iterator value="value">        <s:property value="name"/>     </s:iterator></s:iterator>

5、List<Map<XXX, List<XXX>>>的方式

public String listMapList(){        List<Map<String, List<Department>>> list = new ArrayList<Map<String,List<Department>>>();        Department department = new Department();        department.setName("妹纸");        department.setDescription("真漂亮");        List<Department> departments = new ArrayList<Department>();        departments.add(department);        Map<String, List<Department>> map = new HashMap<String, List<Department>>();        map.put("list", departments);        list.add(map);        ActionContext.getContext().put("list", list);        return "list";    }

前台取数据的方法

 <s:iterator value="#list">    <s:iterator>        <s:property value="key"/>        <s:iterator value="value">            <s:property value="name"/>        </s:iterator>    </s:iterator> </s:iterator>

PS:代码中的Department 是一个实体类,大家随便定义。

小结

以上便是迭代器OGL表达式中的Iterator在页面中的应用,它扮演着从域中去数据并且显示数据的角色,如果读者对本篇文章还有的补充或者意见,欢迎提出并留下你的评论。

2 0
原创粉丝点击