最近做个小系统,又用起来了jsp,struts2
直接上代码 doubleselect标签 二级联动
id="channel_type_code" name="versionUpdateVo.channel_type_code"
list="#request.selectList"
listValue="select_name" listKey="select_code"
doubleId="channel_code" doubleName="versionUpdateVo.channel_codes"
doubleList="detailList"
doubleListValue="detail_name" doubleListKey="detail_code"
doubleMultiple="true"
></s:doubleselect>
问题来了 在之前 我的二级菜是单选的 所有没有任何问题
后来我加上了mutiple,二级菜单多选,出现了个诡异的现象,就是doubleName="versionUpdateVo.channel_codes" 这个东西 不仅不能用string[]
而且 用ArrayList<String>的时候 新增保存都没问题,修改的时候 带不出来数据,查看页面 这里面是有值的 格式如 [1001,1002] 但是翻译不出来文本
后来我怀疑是struts在传递的过程中 直接用数值类型处理的,因为,遇到字母类型的code 就下拉不出来东西
最后还真解决了。就是生成list传到jsp的时候 用
List<String> result = new ArrayList<String>();
if(feild != null ){
String[] tt=feild.split("#");
for(String temp : tt ){
result.add("'"+temp+"'") ;
}
我数据库是存的 AA#11#22# 这种多选的值
这样传给jsp的时候 值的格式 就是带着单引号的 强制它按照string处理~~
没时间研究具体原因 怀疑XworkList在处理数据的时候 格式没转String 框架问题。