struts2 checkboxlist 回显
Struts2 checkboxlist回显问题中,说明两种方式,第一种方式很普遍,第二种则是个人根据现有资源加上尝试得来的成果,第二种主要是为个人笔记(其中相关知识点不一一介绍)。
一、普通方法:
- Action代码:
- private List<String> gustoList=Lists.newArrayList(); //设置get,set方法
- public String edit(){
- String [] referealReasons =register.getGusto().split(", ");
- for(String b :referealReasons){
- gustoList.add(b);
- }
- }
- return "edit";
- }
- JSP代码:
- <s:checkboxlist name="register.gusto" list="{'看电影','写程序','写文档','玩游戏','写博客'}" value="%{gustoList}"></s:checkboxlist>
二、配置字典方式:
1、后台通过字典工具类从数据库取得字典信息(全局Map对象,)。
2、并在修改和保存的时候取得数据库中需要回显的数组下标。
3、把所有的字典信息、需要回显的字典集合下标(List集合)传到页面。
后台Java代码(我们自己的字典工具):
- private Map<String,String> bzReasonDic=new HashMap<String, String>();
- bzReasonDic = DicDataUtils.getDic(DicDataUtils.BZREASION_NAME);//bzReasonDic是取到的所有数据字典,subList是需要回显的数组小标。
JSP页面代码:
- <td class="label_2" colspan="3">
- <s:checkboxlist name="receiveBz.noteReason" list="bzReasonDic" value="%{subList}" theme="custom" disabled="true"/>
- </td>