67,549
社区成员




$.post("LoginAction.action",{"id":$("#id").val(),"psw":$("#psw").val()},function(data){
alert("yes!");
alert(data[0].judge);
},"json");
protected void json(Map<String, Object> result) throws Exception {
if (result == null || result.size() == 0)
json("{}");
else
json(new Gson().toJson(result));
}
//JOSN转换
protected void json(List<Map<String, Object>> results) throws Exception {
if (!(results.size() > 0)) {
results = null;
}
json(new Gson().toJson(results));
}
protected void json(String json) throws Exception {
if (json == null || json.equals("")) {
json = "[]";
}
response.setContentType("application/json;charset=utf-8");
PrintWriter out = response.getWriter();
if (!(json == null || json.equals("[]")|| json.equals(""))) {
out.print(json);
out.flush();
out.close();
}
}
我是直接从登陆界面传数据到后台,由后台进行判断,然后返回判断数据到登陆界面的回调函数里面,通过结果来进行页面的不同跳转! 哈哈。流程是这样的,因为用起来很方便嘛。如果不使用struts-json.jar的话,除了用PrintWriter pw = response.getWriter();这样返回页面。还有一种就是将json格式传到一个公用页面,然后页面回调的时候去那个页面取。 也有不是这样实现的,不一定要用map来封装对象,也不一定要在struts里面进行配置! struts框架都是版主给的地址这样用的。- 不写了,给你找一个例子参考吧。点这里
哈哈。流程是这样的,因为用起来很方便嘛。如果不使用struts-json.jar的话,除了用PrintWriter pw = response.getWriter();这样返回页面。还有一种就是将json格式传到一个公用页面,然后页面回调的时候去那个页面取。 也有不是这样实现的,不一定要用map来封装对象,也不一定要在struts里面进行配置! struts框架都是版主给的地址这样用的。- 不写了,给你找一个例子参考吧。点这里
[quote=引用 楼主 ganshenml 的回复:] String data="{\'judge\':1}"; 现在想要将上面的字符串传值到前台HTML文档的js中。事先有用Ajax进行传值到后台:问,怎么安全得到judge对应的值!$.post("LoginAction.action",{"id":$("#id").val(),"psw":$("#psw").val()},function(data){ alert("yes!"); alert(data[0].judge); },"json");
楼主可否把这个response的util工具类贡献一下呢,或者提供下载链接也可啊
楼主可否把这个response的util工具类贡献一下呢,或者提供下载链接也可啊
String data="{\'judge\':1}"; 现在想要将上面的字符串传值到前台HTML文档的js中。事先有用Ajax进行传值到后台:问,怎么安全得到judge对应的值!$.post("LoginAction.action",{"id":$("#id").val(),"psw":$("#psw").val()},function(data){ alert("yes!"); alert(data[0].judge); },"json");
[quote=引用 10 楼 ganshenml 的回复:] [quote=引用 8 楼 AS_MSDN 的回复:] dataType: "json",加上这个。 同时如果不行,用javascript将字符串转化为json
protected void json(Map<String, Object> result) throws Exception {
if (result == null || result.size() == 0)
json("{}");
else
json(new Gson().toJson(result));
}
//JOSN转换
protected void json(List<Map<String, Object>> results) throws Exception {
if (!(results.size() > 0)) {
results = null;
}
json(new Gson().toJson(results));
}
protected void json(String json) throws Exception {
if (json == null || json.equals("")) {
json = "[]";
}
response.setContentType("application/json;charset=utf-8");
PrintWriter out = response.getWriter();
if (!(json == null || json.equals("[]")|| json.equals(""))) {
out.print(json);
out.flush();
out.close();
}
}
[/quote]类似差不多,但是你这属于逐一解析json格式字符串了,所以是培训应该不会比较好,我感觉!a code ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 public String execute() throws IOException{ System.out.println(id+" "+psw); if(coi.LoginValidation(id, psw)){ System.out.println("yes!"); String data="{\'judge\':1}"; Gson gson=new Gson(); gson.fromJson(data, Gson.class); System.out.println(data.toString()); response.setCharacterEncoding("utf-8"); PrintWriter pw = response.getWriter(); pw.print(data); pw.flush(); }else{ System.out.println("no!"); } return null; } 你先这样写 试试 。 gson.fromJson(data, Gson.class)这是将json转成Bean. ajax只能返回字符串。不能返回Bean.
你这个返回状体是成功了,走了后台 ,但是后台你也没有给前台值啊