问题:
向页面传递key与value的组合
1.
1.1 思路,key与value,想到用map
velocity中遍历map
但 key不是按照添加顺序显示的
原因:map的key是hash值,是随机的,不是按照顺序输出的
业务要求,要按照添加顺序显示
1.2
如果要求按顺序输出可以采用
按添加顺序显示
1.3
遍历map中的key
遍历map中的value
1.4
java中map里面的key是否可以按我们插入进去的顺序输出?
综上,取决于实现map的方式,若为LinkedHashMap,则可以
2.组装key与value为po类
2.1 在已有类的内部定义,即内部类
velocity中遍历list
确认list已经赋值,但页面没有显示,原因 po 必须 是public 的访问权限,
且 对该 成员变量添加 set get 方法,才可传值到VM中
而 一个类中 只能有一个类是 public的,其余的类都不可以是 public,
即 定义内部类,是不能传值的
2.2 在同包或其他包中定义po类,引用该po类进行实现
效果:正确
这种方式也可以实现,但若属性不是很多的时候,不建议这样做,浪费时间且代码不好维护
向页面传递key与value的组合
1.
1.1 思路,key与value,想到用map
- private Map<String,String> lineBusiness = new HashMap<String,String>() ;
- lineBusiness.put("abc","bcd");
- lineBusiness.put("dbc","bcd");
- lineBusiness.put("gbc","bcd");
velocity中遍历map
- #foreach($param in ${lineBusiness.entrySet()})
- ${param.key} ${param.value}
- #end
但 key不是按照添加顺序显示的
原因:map的key是hash值,是随机的,不是按照顺序输出的
业务要求,要按照添加顺序显示
1.2
如果要求按顺序输出可以采用
- Map<K,V> map = new LinkedHashMap() ;
- #foreach($infos in $lineBusiness.entrySet())
- ${infos.key} ${infos.value}
- #end
按添加顺序显示
1.3
遍历map中的key
- #foreach($infos in $lineBusiness.keySet())
- ${infos}
- #end
遍历map中的value
- #foreach($infos in $lineBusiness.values())
- ${infos}
- #end
1.4
java中map里面的key是否可以按我们插入进去的顺序输出?
综上,取决于实现map的方式,若为LinkedHashMap,则可以
2.组装key与value为po类
2.1 在已有类的内部定义,即内部类
- List<po> list = new ArrayList<po>();
- po.setKey("");
- po.setValue("");
- list.add(po);
velocity中遍历list
- #foreach($info in $list)
- $!info.value $info.key
- #end
确认list已经赋值,但页面没有显示,原因 po 必须 是public 的访问权限,
且 对该 成员变量添加 set get 方法,才可传值到VM中
而 一个类中 只能有一个类是 public的,其余的类都不可以是 public,
即 定义内部类,是不能传值的
2.2 在同包或其他包中定义po类,引用该po类进行实现
效果:正确
这种方式也可以实现,但若属性不是很多的时候,不建议这样做,浪费时间且代码不好维护