刚才写的EXT传JSON数据的方法发现一个更好的替代方法。EXT.Ajax.request里的还有一个参数jsondata他是专门用于发送JSON数据的可是我一直不知道如何在ACTION中获得JSON。刚才看了一一下IBM developerWorks 中国 的一篇文章顿时茅塞顿开。
方法如下
EXT代码
Ext.Ajax.on("requestcomplete",function(_conn,_response,_options){
if(_response.responseText == "ok")
{
Ext.MessageBox.alert("系统提示","添加成功");
}
})
Ext.Ajax.request({
url:"addUser.do",
jsonData:{username:_name.getValue(),password:_password.getValue()}
});
和刚才的一样就是把pamer属性换成了jsonData
关键是JAVA的变化
//这是专门从requeset中获得JSON数据的方法。
public String requesetjson(HttpServletRequest request) {
StringBuffer jb = new StringBuffer();
String line = null;
try {
BufferedReader reader = request.getReader();
while ((line = reader.readLine()) != null)
jb.append(line);
} catch (Exception e) {
}
return jb.toString();
}
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
//把获得JSON数据的string放到org.json中的类库中一切Ok。
JSONObject jsonObject = new JSONObject(requesetjson(request));
Userinfo userinfo = new Userinfo((String) jsonObject.get("username"),
(String) jsonObject.get("password"));
userinfoDAO.save(userinfo);
response.getWriter().write("ok");
return null;
}
我一直以为可以用getpam之类的方法可以实现,晕。还是懂得太少呀。
本文介绍了一种使用Ext.Ajax.request中的jsonData参数发送JSON数据的方法,并详细展示了如何在Java ACTION中解析这些JSON数据。
1000

被折叠的 条评论
为什么被折叠?



