您的位置:首页 > 编程语言 > Java开发

SpringMVC ajax异步回传list对象

2017-03-10 00:00 267 查看
1. commUtil 类

public static <T> String convert2Json(List<T> tempList, String idMethod, String valMethod){
if(tempList == null || tempList.isEmpty() || StringUtil.isNullOrEmpty(idMethod) || StringUtil.isNullOrEmpty(valMethod)){
return "";
}

String arr = "[";
for (T obj : tempList){
Method method;
try {
arr += "{\"id\":\"";
method = obj.getClass().getMethod(idMethod);
arr += Long.parseLong(method.invoke(obj).toString()) + "\",";

arr += "\"name\":\"";
method = obj.getClass().getMethod(valMethod);
arr += method.invoke(obj).toString() + "\"},";
} catch (Exception e) {
e.printStackTrace();
}
}

int len = arr.length();
if (len > 1){
arr.substring(len - 1);
}
arr += "]";
return arr;
}

2. controller 类

@RequestMapping(params = "method=findUseEmsClampTypes")
@ResponseBody
public String findUseEmsClampTypes(HttpServletRequest request, HttpServletResponse response){
Long assemblyTypeId = RequestUtil.parseLong(request, "assemblyTypeId");
List<EmsClampUseType> useList = emsClampUseTypeManager.findUseEmsClampTypes(assemblyTypeId);
return CommUtil.convert2Json(useList, "getUseTypeId", "getUseType");
}

3. js

$.ajax({
type : "POST",
url : "${ctx}/ems/emsClampUtil.html?method=findUseEmsClampTypes",
data : "assemblyTypeId=" + assemblyTypeId,
success : function(data) {
var obj = eval(data);
$.each(obj,function(i){
if (obj[i].id == selectedUseTypeId){
$("#useTypeId").append("<option value='" + obj[i].id + "' checked>" + obj[i].name + "</option>");
} else {
$("#useTypeId").append("<option value='" + obj[i].id + "'>" + obj[i].name + "</option>");
}
$("#useTypeId").render();
});
}
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐