[struts2]struts标签遍历map[转]
转至:http://hanxin0311.iteye.com/blog/1745792
private Map<String, String> strMap = new HashMap<String, String>();
private Map<String, Person> perMap = new HashMap<String, Person>();
private Map<String, String[]> strArryMap = new HashMap<String, String[]>();
private Map<String, List<Person>> perLstMap = new HashMap<String, List<Person>>();
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.expre.struts2.bean.Person;
import com.expre.struts2.bean.Phone;
import com.opensymphony.xwork2.ActionSupport;
public class ExpressMapAction extends ActionSupport {
private static final long serialVersionUID = -4251480679223607716L;
private Map<String, String> strMap = new HashMap<String, String>();
private Map<String, Person> perMap = new HashMap<String, Person>();
private Map<String, String[]> strArryMap = new HashMap<String, String[]>();
private Map<String, List<Person>> perLstMap = new HashMap<String, List<Person>>();
//get&set方法,这里都省略了
@Override
public String execute() throws Exception {
// 值为字符串
strMap.put("first", "zxx");
strMap.put("second", "lsx");
strMap.put("third", "wxh");
// 值为javabean对象
Person person = new Person("001", "zxx", 22);
person.setPhone(new Phone("apple", 18957157189L));
perMap.put("one", person);
person = new Person("002", "lsx", 25);
person.setPhone(new Phone("HTC", 18957157187L));
perMap.put("two", person);
// 数组处理
strArryMap.put("arr1", new String[] { "1", "310000", "hz" });
strArryMap.put("arr2", new String[] { "2", "310001", "xh" });
strArryMap.put("arr3", new String[] { "3", "310002", "sc" });
//list对象处理
List<Person> list=new ArrayList<Person>();
list.add(new Person("001", "zxx", 22));
list.add(new Person("002", "lsx", 25));
perLstMap.put("one", list);
list=new ArrayList<Person>();
list.add(new Person("003", "wlx", 26));
list.add(new Person("004", "hzx", 28));
perLstMap.put("two", list);
return "result";
}
}
<html>
<body>
<ul>
<li>访问Map:<s:property value="strMap"/></li>
<li>访问Map中某个元素:
<s:property value="strMap.first"/> |
<s:property value="strMap['second']"/> |
<s:property value="strMap[\'third\']"/>
</li>
<li>访问Map中所有的key:<s:property value="strMap.keys"/></li>
<li>访问Map中所有的value:<s:property value="strMap.values"/></li>
<li>访问容器的大小:
<s:property value="strMap.size()"/> |
<s:property value="strMap.size"/>//这是map特别的地方
</li>
<li>迭代循环取值,最简单
<s:iterator value="strMap" id="entry">
<s:property value="#entry"/>{
key: <s:property value="key"/>
value:<s:property value="value"/>}|
</s:iterator>
</li>
<li>迭代循环取值
<s:iterator value="strMap.keySet()" id="key">
<s:property value="key"/>或<s:property value="#key"/>:
<s:if test="strMap[#key]!=null">
<s:property value="strMap.get(#key)"/> |
</s:if>
</s:iterator>
</li>
<li>迭代循环取数组值
<s:iterator value="strMap" id="entry">
<s:property value="#entry"/>{
<s:property value="value[0]"/>
<s:property value="value[1]"/> |
<s:property value="value[2]"/> }
</s:iterator>
</li>
<li>迭代循环取对象值,最直接:
<ul>
<s:iterator value="perMap" id="entry">
<li>
<s:property value="#entry"/> {
ID:<s:property value="value.ID"/>
Name:<s:property value="value.name"/>
Age:<s:property value="value.age"/> }|
</li>
</s:iterator>
</ul>
</li>
<li>迭代循环取对象的属性值
<s:iterator value="perMap.keySet()" id="key">
<s:property value="#key"/>:
<s:iterator value="perMap.get(#key)">
<s:property value="ID"/>
<s:property value="name"/>
<s:property value="phone.name"/>
</s:iterator>|
</s:iterator>
</li>
<li>稍复杂的迭代
<s:iterator value="perLstMap" id="entry">
<s:set name="total" value="#entry.value.size"/>
<s:iterator value="#entry.value" status="s">
<s:if test="#s.first">
<s:property value="#entry.key"/>:共${total}条
</s:if> {
<s:property value="ID"/> |
<s:property value="name"/> |
<s:property value="age"/>
};
</s:iterator>
</s:iterator>
</li>
</ul>
</body>
</html>
[struts2]struts标签遍历map[转]的更多相关文章
- JSP的C标签遍历Map数据
JSP的C标签遍历Map数据 Map可以实现较为丰富的数据封装. 第一种: 控制器传递到页面的map格式如下: Map<String, User> dataMap = new HashMa ...
- struts2标签 遍历map集合
首先我们来构造几个map集合. 假设如下代码 都是在ssh配置环境下搭建好,(至少struts2开发环境搭建好) (1).java 代码 下面的student对象包含的字段为 ...
- [struts2]Struts遍历标签<s:iterator>总结 [转]
转至:http://blog.csdn.net/lufeng66/article/details/7338098 struts2的s:iterator 可以遍历 数据栈里面的任何数组,集合等等 以下几 ...
- 使用Struts2的iterator标签遍历复杂Map种类
1.建一个Webproject.加入Struts2支持. 2.创建两个实体类: a). Mother(母亲)的Java类. package struts.map.entity; import java ...
- Struts2自定义标签2自定义一个按班级id查询出该班级下的学生,存放进值栈,并遍历出来。
Struts2自定义标签的流程概念: (1)需要两个类:标签类(继承相应的tag类),基本类(继承Component).标签类专门负责从客户端取得用户输入的一些属性,这个普通的jsp自定义标签一样,取 ...
- Struts2的OGNL遍历数组、List、简单的Map
一.简介 <s:iterator />可以遍历 数据栈里面的任何数组,集合等等 在使用这个标签的时候有三个属性值得我们关注 1. value属性:可选的属性,value属性是指一 ...
- Struts2——(4)OGNL与struts标签
一.OGNL Object Graphic Navigation Language 对象图导航语言 依赖于 ognl.jar包 OGNL不是Struts框架独有的,它是和框架独立的一种技术. 例如: ...
- EL&struts2标签 读取map,list集合
struts中的取map和list & jsp中取map和list <% List list = new ArrayList(); list.add("a"); li ...
- Struts2 学习笔记15 Struts标签 part1
来说一下Struts标签,之前我们也很多地方用到了,还是来总结一下. 首先是property标签. <li>property:<s:property value="user ...
随机推荐
- 《javascript高级程序设计》对象图
1.原型链图 2.作用域链图 3.继承
- Oracle数据库安装完成之后的启动操作
由于是菜鸟,在 完成Oracle数据库的安装之后,不知道该怎么启动.在经过一番折腾之后明白了其中的一些道理,总结如下: 其实Oracle数据库和Mysql数据库的启动都是相同的原理. Mysql数据库 ...
- List<>过滤重复的简单方法
List<int> ss = new List<int>(); ss.Add(); ss.Add(); ss.Add(); ss.Add(); ss.Add(); ss.Add ...
- loadmore & scroll
loadmore <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0.1/jquery.m ...
- 中文输入法在vs2010中失效解决方案
这样你就可以用切换输入法的方式,输入中文咯. 后来用了2次发现还是有问题,后来我就直接把输入法的切换改成ctrl+1,后来使用就一直没有问题.总之,解决方案视具体情况解决.
- UVA 10765 Doves and bombs
给定一个无向的连通图,要求每个点去掉后连通分量的数目,然后输出连通分量最多的m个点. 分析: 先求出双连通分量,然后统计所有双连通分量中割顶出现的次数,最后求出的就是割顶去掉后剩下的双连通的数目,对于 ...
- jni.h头文件详解二
作者:左少华 博客:http://blog.csdn.net/shaohuazuo/article/details/42932813 转载请注明出处:http://blog.csdn.net/shao ...
- 用U盘安装系统
下述的前提就是:如果你想要装win7,win8系统的话,你需要准备一个大于等于4G的U盘,但是如果你想装XP,Ubuntu等小系统就可以只要1G的U盘就行了,温馨提示,记得将U盘里的重要东西移走,因为 ...
- angular.extend
function f1() {} var f2 = angular.extend(f1, { active: false, toggle: function() { this.active = !th ...
- ☀【JS】检测属性
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8& ...