SSH+JqueryEasyUI整合,怎么才能把action处理过的数据转成json再传到前台的Ajax方法的?

SSH+JqueryEasyUI整合,怎么才能把action处理过的数据转成json再传到前台的Ajax方法的?下面几种方法都试过,是类型转换异常难道json包不是imp... SSH+JqueryEasyUI整合,怎么才能把action处理过的数据转成json再传到前台的Ajax方法的?下面几种方法都试过,是类型转换异常 难道json包不是import net.sf.json.JSONArray;import net.sf.json.JSONObject;?要加额外包吗? 其实就想往前台传个记号去提示一下,不需要action跳转到别的页面去,而是在ajax方法里去实现跳转页面。

//Action的方法:=======================================
public String ajaxLogin() throws Exception { System.out.println("成功进入方法"); Json j = new Json(); Student s = studentService.findStudentByEntry(student); if (s != null) { j.setSuccess(true);// j.setMsg("登录成功!"); j.setObj(s);// System.out.println(j.toString()); List list = new ArrayList(); list.add(s); list.add(j); // JSONArray json = JSONArray.stringify(list); JSONObject jsonObject = new JSONObject().fromObject(j); ActionContext.getContext().getSession().put("student", s);// 保存用户 HttpServletResponse response = ServletActionContext.getResponse(); response.getWriter().write(jsonObject.toString()); } else { j.setMsg("用户名或密码错误!"); } return null;
}

Struts.xml配置:========================================<struts> <package name="Easyui" extends="json-default"> <action name="login" class="studentAction" method="ajaxLogin"> <result type="json"></result> </action> </package></struts>
展开
 我来答
393107529
2014-03-31 · TA获得超过154个赞
知道小有建树答主
回答量:147
采纳率:0%
帮助的人:129万
展开全部
页面代码没问题,你的问题是在action里的要传递的数据有问题,你发送到页面的数据应该是Json格式的,它的形式应该是key:value这种,类似Map集合这种形式,所以在使用JSONObject的时候一般都是Map<String,Object>集合,使用JSONArray的时候一般是List<Map<String,Object>>,当然你也可以直接定义Json对象来传递,你的list里面又是json对象,又是student对象,完全转化不过来啊,建议你在查询数据库的时候使用spring的jdbc方法:JdbcTemplate的queryForList方法,返回的是一个List<Map<String,Object>>形式,很好用
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式