struts2查询的json格式的数据返回结果错误

wangsufu77 2014-04-06 05:56:35
action中:
public String findAllUserJson(){
HttpServletRequest req = ServletActionContext.getRequest();
List<Map<String, Object>> rows=new ArrayList<Map<String,Object>>();
rows=userService.selectUser();
Map<String, Object> obj = new HashMap<String, Object>();
obj.put("total", rows.size());
obj.put("rows", rows);
result=JSONObject.fromObject(obj);
System.out.println("resultresult="+result);
//List<User> users = userService.selectUserByCondition(new User());
return "userListJson";
}
service中:
public List<Map<String, Object>> selectUser() {
return userDao.selectUser();
}
dao中:
public List<Map<String, Object>> selectUser() {

return this.getSqlSession().selectList("cn.itcast.mybatis.domain.User.selectUserByConditionForMap");
}
mybatis中:
<!-- 动态sql -->
<select id="selectUserByConditionForMap" resultType="hashmap">
select * from user
</select>
查询结果为:
{"total":2,"rows":[{"AGE":10,"age":10,"address":"address001","NAME":"zhangsan","name":"zhangsan","id":"001","ADDRESS":"address001","ID":"001"},{"AGE":20,"age":20,"address":"address002","NAME":"wangwu","name":"wangwu","id":"002","ADDRESS":"address002","ID":"002"}]}
问题:
数据中只有age,id,address,name字段的两行数据,现在查询结果怎么有重复的数据id,ID,ADDREDD,address等

补充:struts配置文件中:
<result name="userListJson" type="json">
<param name="root">result</param>
</result>
...全文
279 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
乔不思 2014-04-09
  • 打赏
  • 举报
回复
我建议还是不要 在后台拼接json数据,我建议用一个对象将这些数据封装,然后,把这个对象放在Collection接口中,直接通过 ActionContext.getContext().put("lists",collectionlist);//将数据放进对象栈,然后,通过Ajax直接获取,具体是 $.post("xxxAction?......",null,function(data){ alert(data.lists);//这里就获取到了然后可以进行遍历。。。 });
乔不思 2014-04-09
  • 打赏
  • 举报
回复
那个 json数据有struts 那个result 默认的name值是“SUCCESS”,并且这个值没有人改,,,这个值你不应该自定义。。。 我好像以前也遇到过这个问题。。。 你再前台调试一下,看前台得到响应是什么?
Defonds 2014-04-07
  • 打赏
  • 举报
回复
row 打印一下,看看啥情况

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧