Struts2实现2级级联下拉列表

Struts2实现2级级联下拉列表
package zjh.struts2.action;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import zjh.struts2.db.DataBase;
import zjh.struts2.vo.GoodsTypes;

public class GoodsTypeList {
DataBase db = new DataBase();
private List<GoodsTypes> bigType ;//商品大类别,
private List<GoodsTypes> smallType;//商品小类别
private Map<Integer,List<GoodsTypes>> types;//把商品类别放到HashMap中,建立大类别和小类别的键-值关系

public List<GoodsTypes> getBigType() {
return bigType;
}
public List<GoodsTypes> getSmallType() {
return smallType;
}
public Map<Integer, List<GoodsTypes>> getTypes() {
return types;
}
public GoodsTypeList() {

bigType = new ArrayList<GoodsTypes>();
types = new HashMap<Integer,List<GoodsTypes>>();

String sql1 = "select * from goods_bigType";//从大类别表中取出所有信息
ResultSet rs1 = db.query(sql1);

try {
while(rs1.next()) {
int gb_id = Integer.parseInt(rs1.getString("gb_id"));
String gb_name = rs1.getString("gb_name");
smallType = new ArrayList<GoodsTypes>();
String sql2 = "select * from goods_smallType where gb_id = '"+gb_id+"' ";//从小类别表中取出大类别对应的小类别
ResultSet rs2 = db.query(sql2);
String init_gs_name[] = null;//定义初始化时大类别对应的小类别
while (rs2.next()) {
int gs_id = Integer.parseInt(rs2.getString("gs_id"));
String gs_name = rs2.getString("gs_name");
GoodsTypes gs_type = new GoodsTypes(gs_id,gs_name);
smallType.add(gs_type);
init_gs_name= new String[]{gs_name};
}

GoodsTypes gb_type = new GoodsTypes(gb_id,gb_name,init_gs_name[0]);
bigType.add(gb_type);
types.put(gb_id, smallType);

}

} catch (SQLException e) {
e.printStackTrace();
}
}

}
对应的struts2标签
<s:doubleselect name="goodstype.gb_name"
list="#typelist.bigType" listKey="gb_id"
listValue="gb_name" doubleList="#typelist.types[gb_id]"
doubleName="goodstype.gs_name" doubleListKey="gs_id"
doubleListValue="gs_name" cssStyle="color: blue;width:100"
doubleCssStyle=" color: blue;width:100" />
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值