PrintWriter out = response.getWriter();out.print(???);out.print(?) 的参数中是否可以传list,map等对象?如将数据库结果集,放到list
中,此时list可以放到out.print(?) 的参数吗
请赐教,谢谢大家!

解决方案 »

  1.   

    可传递参数为 String  int  char[], 你把整个list放进去,应该默认使用list.toString,
    变成将list的地址输出了。
      

  2.   

    直接传list 会out.print 出来list 的地址要for你的list 一个一个对象的属性 out.print 才能出来
      

  3.   

    可以变相的去out.print list 和map
    比如:
    public ActionForward execute(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response) {
    response.setContentType("text/json; charset=utf-8");
    JsonForm jform=(JsonForm)form;
    //System.out.println("ff"+jform.getTestValue());
    // List<String> list=new ArrayList<String>();
    // list.add("string1");
    // list.add("string2");
    // list.add("string3");
    // JSONArray json=JSONArray.fromObject(list);
    // try {
    // PrintWriter out=response.getWriter();
    // System.out.println("a"+json);
    // out.print(json);
    // out.flush();
    // } catch (IOException e) {
    // // TODO Auto-generated catch block
    // e.printStackTrace();
    // }
    // Map<String, String> map=new HashMap<String, String>();
    // map.put("name1", "string1");
    // map.put("name2", "string2");
    // map.put("name3", "string3");
    // JSONArray json=JSONArray.fromObject(map);
    // try{
    //  PrintWriter out=response.getWriter();
    //  out.print(json);
    //  out.flush();
    //
    //
    // }catch(Exception e){
    // e.printStackTrace();
    // }
    // String singlepara="[{'name':'中国'}]";
    // JSONArray json=JSONArray.fromObject(singlepara);
    // try {
    // PrintWriter out=response.getWriter();
    // System.out.println(json);
    // out.print(json);
    // out.flush();
    //
    // } catch (Exception e) {
    // // TODO: handle exception
    // }
    //
    // User user=new User();
    // user.setName("小王");
    // user.setPassword("666666");
    // JSONArray json=JSONArray.fromObject(user);
    // try{
    // PrintWriter out=response.getWriter();
    // out.print(json);
    // out.flush();
    //
    // }catch(Exception e){
    //
    // }
    List<User> list=new ArrayList<User>();
    User user1=new User();
    user1.setName("name1");
    user1.setPassword("password1");
    User user2=new User();
    user2.setName("name2");
    user2.setPassword("password2");
    User user3=new User();
    user3.setName("name3");
    user3.setPassword("password3");
    list.add(user1);
    list.add(user2);
    list.add(user3);
    JSONArray json=JSONArray.fromObject(list);
    try{
    PrintWriter out=response.getWriter();
    out.print(json);
    out.flush();
    }catch (Exception e) {

    }


    return null;
    }
      

  4.   


    也就是说,我在客户端以下循环for (int j = 0; j < equipList.size(); j++) {EquipInfo equipInfo = (EquipInfo) equipList.get(j);。
    }还有 直接传list 会out.print 出来list 的地址 就是说list已经传到了客户端
      

  5.   

    也就是说,我在客户端以下循环
    for (int j = 0; j < equipList.size(); j++) {
    EquipInfo equipInfo = (EquipInfo) equipList.get(j);
    // 在此处把equipInfo 输出,用out.print(equipInfo)   - 确保EquipInfo覆写了toString,不然还是直接返回的内存地址。
    }执行完了就把所有的equipInfo  都在out中打印出来了,如要加上换行 标签什么以示区分,也可以在out.print(“          ”) 就可以用 空格格开。
      

  6.   

    转成json对象,给你个不需要第三方jar包的类。
    http://hi.baidu.com/zhuiyi74/blog/item/8a07deea3ddcb83c2cf53454.html后台使用out.printl(JsDataTools.getJsData([你的对象]));
    前台用js取,具体还有什么问题继续大家跟帖