最近刚刚使用了ligerUI,感觉真是一级棒的前端UI框架,它是基于jquery 之上的UI框架,开发方便、使用简单!下面我个人总结一下ligerComboBox动态获取json数据
方法一:
直接使用response.getWriter();向页面写回json格式的数据,
DeptTypeJson的格式:[{"1":"a","2","b"}]
HttpServletResponse response=ServletActionContext.getResponse();
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
HashMap maprow = new HashMap();
List hospital_l=hOSPITALService.selectHOSPITALByWhereToPage(null, 1, 100);
if(hospital_l!=null&&hospital_l.size()>0){
DeptTypeJson = JSON.toJSONString(hospital_l);
System.out.print("typeJson----"+DeptTypeJson);
out.println(DeptTypeJson);
out.flush();
out.close();
return SUCCESS;
}
方法二:
使用fastjson或者jackjson等等,结合struts2的返回json
Map m=dEPTService.getDEPTById(ID);
List dept_type_l=dEPT_TYPEService.selectDEPT_TYPEByWhereToPage(null, 1, 100);
Rows =JSONObject.parseObject(JSON.toJSONString(m));
System.out.println(Rows);
return SUCCESS;
struts.xml文件配置
<action name="DEPT_TYPEwhAction" class="com.action.DEPT_TYPEwhAction">
<result type="json">
<param name="root">Rows</param>
</result>
</action>
这里
不要忘了package 为extends="json-default",并且你的struts2-json-plugin-2.3.15.1.jar包需要和你其他其他包的版本一致或相近,例如:xwork-core-2.3.16.1.jar等
前台jsp代码
var comBox= $("#DEPT_TYPE_NAME").ligerComboBox({
url:"DEPTwhAction.action?action=getDept_Type",
textField:"DEPT_TYPE_NAME",
valueField:"ID",
valueFieldID:"DEPT_TYPE_ID",
onSuccess:function(data){
//alert(data.DEPT_TYPE_NAME);
this.setValue($("#DEPT_TYPE_ID2").val());
},
onError:function(){
$.ligerDialog.error('无法获取科室类别');
}
});