在网上找的方法
第一步,在后台Action 要先生成符合comboboxJson格式的数据,就是将你的list转换为这种格式,通常是Map里面存两个 diCode diName diCode相当于<optiion>里面的value diName 这是text
将组装好的Map放入list 中,然后将list转换为json就好。
第二步,在jsp页面后者其它前台页面直接这样就可以:
<input class="easyui-combobox"
name="cc"
id="cc"
url="<%=path %>/json/dataAction!cascadeAction.action"
valueField="diCode"
textField="diName"
panelHeight="auto" editable="false" />
页面上写input 也可以 写select 也可以 只要你写了class="easyui-combobox"就变成easy-ui的控件了。url是最核心的东西,指向你后台将要返回json的Action easyui的下拉框。之前一直没搞清楚第一步中Map与List之间的关系,导致生成的json字符串一直不对,还好现在问题终于解决了。
private CollectService CollectService;
public String getList() {
List<CollectBean> list = new ArrayList<CollectBean>();
list<Map> hostList = new ArrayList<Map>();
hostList = CollectService.findHostList(); //调用服务接口返回list列表
for(int i=0;i<List.size();i++){
Map<String, String> jsonMap = new HashMap<String, String>();
jsonMap.put("id",List.get(i).getHost());
jsonMap.put("text",List.get(i).getHost());
hostList.add(jsonMap);
}
resultStr = JSONArray.fromObject(hostList);
System.out.println(resultStr);
return SUCCESS;
}