ligerUI 之ligerComboBox+struts2动态获取json数据

最近刚刚使用了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文件配置


			
				Rows
			
		
这里 不要忘了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('无法获取科室类别');
               	}
           	}); 

你可能感兴趣的:(学习札记)