最近加班做了一个小模块,本以为能很快做出来,但是却费了半天的劲才给弄出来...
使用的dwz富客户端combox组件级联,做了一个小模块,大概就是根据部门找到对应的组员(如同省份联级下属的城市)
<select class="combox" name="province" ref="combox_city" refUrl="city.do?code={value}">
<option value="all">所有省市</option>
<option value="bj">北京</option>
<option value="sh">上海</option>
</select>
<select class="combox" name="city" id="combox_city" ref="combox_area" refUrl=" area.do?code={value}">
<option value="all">所有城市</option>
</select>
<select class="combox" name="area" id="combox_area">
<option value="all">所有区县</option>
</select>
这个是官方给出的文档.官方的demo里头refUrl="xx.html"也是可以的
服务器端返回json格式:
[
["all", "所有城市"],
["bj", "北京市"]
]
json格式也跟普通的不太一样..不过没关系 自己可以再弄.本以为这样就能顺利的通过了
但是后台返回的数据 却怎么都抛出异常..返回json到页面也不对 string也不对
model.attribute()也是不管用 试了各种方法.. 都是没用成功..后来看到网上有人说json从后来返回的格式是text或者html格式的.. 然后试了一下..果然如果把传回好的json
[["1","tonyan"]]
放到一个html页面上 然后 return "xx/xx";的时候确实能够回调成功
但是这并不能解决办法..
最后终于解决了..
@RequestMapping(value = "list")
public void list(@RequestParam(value = "deptid") Long deptid,ServletResponse response) {
JsonMapper jm=new JsonMapper();
List b=new ArrayList();
if(deptid==0)
{
List a=new ArrayList();
a.add("0");
a.add("所有人员");
jm.toJson(a);
b.add(jm.toJson(a));
}
else
{
List a=new ArrayList();
a.add("1");
a.add("tonyan");
jm.toJson(a);
b.add(jm.toJson(a));
}
try {
response.getWriter().write(b.toString());
response.setContentType("text/html");
response.setCharacterEncoding("charset=UTF-8");
}
catch (IOException e)
{
e.printStackTrace();
}
}
可能表述的不是特别好,总的来说就是当 refUrl请求时 通过response响应就可以了