最近开发刚开始接触到dwr,对dwr下的json数据的传递做个小结。
dwr配置:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd"> <dwr> <allow> <!-- 项目管理 --> <create creator="spring" javascript="projectAjax"> <param name="beanName" value="projectAjax" /> <include method="getProjectById" /> </create> </dwr>
projectAjax.java代码如下: 返回的json数据为:({"projectDesc":"project4","projectId":185,"projectKind":"1, 2, 3","projectName":"project4","projectType":"2"})
jsp页面部分代码:/**根据id获取对象 * @param id * @return */ public String getProjectById(Long id) { String temp = null; try { //转换为json数据 JSONObject json = JSONObject.fromObject(this.projectService.getProjectById(id)); temp = json.toString(); } catch (Exception e) { e.printStackTrace(); } return temp; }
var choseId=$("input:checked").val();//获取id
projectAjax.getProjectById(choseId,callback);
function callback(data)//回调函数
{
var json=eval("(["+data+"])");
$("#pId").val(json[0]["projectId"]);//获取json中projectId的值,并填充如文本框中
$("#pName").val(json[0]["projectName"]);
}