json数据传输

Java代码:

UserAction.java:

protected transient HttpServletResponse response;

 public String queryList(List<OppUser> list)
 {
  this.outJsonData(listTojson(list));
 }

 protected void outJsonData(Object object)
 {
  // 转换成json对象
  JSONArray jsonObject = JSONArray.fromObject(object);
  // 获得转换后的json字符串
  String jsonStr = jsonObject.toString();

  try
  {
   // 将查询结果展示到页面
   this.writeJson(jsonStr, response);
  }
  catch (IOException e)
  {
   log.warn(e, "...");
  }
 }

 protected void writeJson(String jsonStr, HttpServletResponse resp)
   throws IOException
 {
  String fullContentType = "application/json;charset=UTF-8";
  resp.setContentType(fullContentType);
  resp.setHeader("Pragma", "No-cache");
  resp.setHeader("Cache-Control", "no-cache");
  resp.setDateHeader("Expires", 0);

  PrintWriter pw = null;
  try
  {
   pw = resp.getWriter();
   pw.print(jsonStr);
  }
  finally
  {
   if (pw != null)
   {
    pw.close();
    pw.flush();
    resp.flushBuffer();
   }
  }
 }

 public List<OppUserJSON> listTojson(List<OppUser> list)
 {
  List<OppUserJSON> oppUserList = new ArrayList<OppUserJSON>();
  // 账号信息对象
  OppUser oppUser = new OppUser();
  int listSize = list.size();

  if (listSize > 0)
  {
   for (int i = 0; i < listSize; i++)
   {
    OppUserJSON oppUserJSON = new OppUserJSON();
    oppUser = (OppUser) list.get(i);
    oppUserJSON.setOppUser(oppUser);
    oppUserJSON.setUserId(oppUser.getUserId());
    oppUserJSON.setUserName(oppUser.getUserName());
    oppUserJSON.setPageNum(2 + "");
    oppUserJSON.setPageSize(10 + "");

    oppUserList.add(oppUserJSON);
   }
  }
  return oppUserList;
 }

OppUserJSON.java:

private OppUser oppUser;
    private String userId;
    private String userName;
    private String pageNum;
    private String pageSize;

//省略set、get方法...

public String toString()
    {
        String line = System.getProperty("line.separator");
        StringBuffer sb = new StringBuffer("");
        sb.append('{');
        sb.append(line);
        sb.append("oppUser=").append(this.oppUser).append(line);
        sb.append("userId=").append(this.userId).append(line);
        sb.append("userName=").append(this.userName).append(line);
        sb.append("pageNum=").append(this.pageNum).append(line);
        sb.append("pageSize=").append(this.pageSize).append(line);
        sb.append('}');
        return sb.toString();
    }

struts.xml:

<action name="queryList" class="userAction" method="queryList">
  <result name="json"/>

 </action>

js:

function queryList()
       {
           var param = "pageNum="+pageno;
           $.ajax({
                type:"post",
                url:"queryList.action",
                data:param,
                dataType:"json",
                beforeSend: function()
                {
                    $("#accountListTable tr:not(:first)").hide();
                },
                success: function(json)
                {
                    //加载数据
                    loadAccountInfo(json);
                },
                error: function()
                {
                    popDialog.show("提示信息", "查询失败");
                }
            });
       }     

function loadAccountInfo(json)
   { 
       if (json != null && json.length != 0)
       {
           //组织列表数据
           for(var i=0; i<json.length; i++)
           {
            fillAccountTable(json[i]);
           } 
        }
       else
       {
           var tr = $("<tr></tr>");
           var td = $("<td colspan='3'></td>");
           td.addClass("tdInfo");
           td.append("没有找到相关信息");
           tr.append(td);
           toneInfoTable.append(tr);
           $("#pageHtml").hide();
       }   
   }

function fillAccountTable(jsoni)
    { 
 var cloneTr = $("#firstTr:first").clone(true);
 $("#accountListTable").append(cloneTr);
 cloneTr.show();  
 
 cloneTr.find("#userId").text(jsoni.userId);
 cloneTr.find("#userName").text(jsoni.userName); 
 cloneTr.find("#userName").bind("click", function(){
  var param = "id=" + jsoni.userId;
  var url = 'xxx.action?subAction=accountmanager&' + param;
  window.location.href = url; 
 });
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值