• 前台常用封装(一)


    开发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(), "
    
    	");
            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数据的解析处理了,做个小例子,记录一下曾经使用过。

  • 相关阅读:
    linux apache + mysql +php no-yum
    linux apache + mysql +php
    1像素border
    vue-router配置
    错误Cannot find module 'stylus'
    高仿饿了么mock本地数据
    vue2.0高仿饿了么better-scroll
    npm 常用命令
    Gulp工具常用插件
    git总结
  • 原文地址:https://www.cnblogs.com/tanqianqian/p/5974999.html
Copyright © 2020-2023  润新知