前台常用封装(一)

开发web项目时,经常会使用到的页面脚本语言javascript,使用它能让页面展示上的效果更多彩。

今天就来说一下,从数据库中获取到数据后在页面上的展示方式:

1.数据库取出数据放入list<object>,将其使用jsonobject封装成json串:

  <select id="selectAll" resultMap="BaseResultMap"
        parameterType="java.util.Map">
        select
        <include refid="Base_Column_List" />
        from user
  </select>

业务层将数据返回到控制层代码简单,此处略过。也可参考我的另一篇随笔:关于spingmvc
此处是list数据的json封装,代码如下:

public void writeChartJson(List<Object> list, HttpServletResponse res)
  throws IOException {
        int size = list.size();
        StringBuffer sb = new StringBuffer();
        sb.append("{");
        sb.append("\"count\":" + size + ",");
        sb.append("\"resultList\":");
        JSONArray jsonArray = JSONArray.fromObject(list);
        sb.append(jsonArray);
        sb.append("}");
        StringBuffer temp = new StringBuffer();
        StringTokenizer token = new StringTokenizer(sb.toString(), "\n\r\t");
        while (token.hasMoreTokens())
  temp.append(token.nextToken());
        res.setContentType("text/json; charset=utf-8");
        System.out.println(temp.toString());
        res.getWriter().print(temp.toString());
    }

2.前台jsp页面,首先引入jquery.js,请求后台获取list的json数据并解析:

$(function() {
       $.ajax({
       type: "POST",
       url: "<%=basePath%>admin/xxx/getXXX.do",
       data:{},
       success: function(msg){
         var count = msg.count;
         if(count > 0){
           for(var i=0;i<count;i++){
           var id=msg.resultList[i].id;
           var name=msg.resultList[i].name;
           alert(id);					 
         }
                    
          }else{
          alert("无数据");					
          }
        },
        error: function(){
            alert("出错");
        }
   });
});

后台获取的map集合封装json,代码和上面类似,不在赘述。

前台请求获取代码同上,处理不同如下:

success: function(msg){
  var count = msg.count;
  if(count > 0){
    var arr = msg.resultList[0];
    for(var key in arr){  
      alert("key:"+key+",value:"+arr[key]);  
      var ar1=arr[key][0];
      var ar2=arr[key][1];
      alert(ar1);	  
    }						
  }else{
    alert("无数据");					 
  }
}

以上就是个人使用js对json数据的解析处理了,做个小例子,记录一下曾经使用过。

posted @ 2016-09-24 17:40  依稀113  阅读(339)  评论(0编辑  收藏  举报