关于标签doubleselect的使用

doubleselect标签是个下拉菜单,前一段时间做项目中做到,说说心得:
doubleselect是一个联动菜单,根据主菜单的on selected事件子菜单也相应变化,
说说具体实现:

<s:doubleselect label="所属类别" name="bt_id"
list="#application.map.keySet()"
listKey="bt_id"
listValue="bt_name"
doubleList="#application.map[top]"
doubleListKey="st_id" doubleListValue="st_name"
doubleName="st_id" cssStyle="color='red'"
doubleCssStyle="color='red'"/>


这是Struts2标签代码,其中"#application.map.keySet()" 表示主菜单中的数据,keySet()表示返回此映射中包含的键的set视图,这是关键所在。

再看服务端代码:


List bts = goodsService.getBtype();
Map m = new HashMap();
Iterator it = bts.iterator();
while(it.hasNext()){
Btype bt = (Btype)it.next();
m.put(bt, bt.getStypes());
}
ServletContext hr = ServletActionContext.getServletContext();
hr.setAttribute("map", m);


先把类别信息从数据库中取出,保存为List类型,下面做个转换,转换成Map的。
放到Application中。我觉得这一步必须转成Map,如果把List直接放到Application中,虽然也能在客户端得到信息,但是doubleList中的数据很难和List中的数据形成联系。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值