ajax+servlet+jquery实现前后端数据交互

在jquery中写ajax请求:

<script type="text/javascript">
     $(function(){
        $(".B").click(function(){
        $.ajax({
            type: "GET",
                     //对应servlet中的方法
            url: "<%=path%>" + "/queryEvaluateByuserId.do",
                     //返回是json数据
            dataType: "json",
            async:false,
           data:{
            },
            success: function(data){
              str = "";
               if(data != null){
                               //循环表单列表
                 for (var i in data)
                  {
                     var num = parseInt(i) + 1 ;                         
                    str +="<tr><td>" + num + "</td><td>" 
                    + data[i]['name'] + "</td><td>"
                    + data[i]['price'] + "元</td>" 
                    + "</tr>";
                  }
                 $(".trtd4").after(str);
               }else{
                  
               }
                
            },
            error: function(data){
            }
          }) 
      });
     }
</script>

jsp部分:

<div class="tab-pane" id="B" style="text-align:center;"> 
          <div class="row marg" > 
            <table border="2 " style="width:80%;text-align:center;"> 
              <tr class="trtd4"> 
                <th>序号</th> 
                <th>业主名</th> 
                <th>金额</th> 
              </tr>              
            </table> 
          </div> 
        </div>

在servlet中用到了阿里巴巴的快速转换json的包com.alibaba.fastjson.JSON:

private void queryEvaluateByuserId(HttpServletRequest request, HttpServletResponse response) throws SQLException, IOException, ServletException{
            HttpSession session=request.getSession();
            request.setCharacterEncoding("UTF-8");
            response.setContentType("text/html");
            response.setCharacterEncoding("UTF-8");
            Cookie[] cookies = request.getCookies();
            int ownerId = 0;
            for (int i = 0; i < cookies.length; i++) {
          Cookie cookie = cookies[i];
          if (cookie.getName().equals("ownerId")) {
            ownerId = Integer.parseInt(cookie.getValue()); 
          }
            }
            List<Order> orderList = new ArrayList<>();
            List<Evaluate> queryEvaluateList = new ArrayList<>();
            orderList = orderServiceImpl.queryOrderList(ownerId, null, null, null, null, null);
            List<Map<String, String>> workers = new ArrayList<Map<String, String>>(); 
            for(int i = 0;i < orderList.size();i++){
                Map<String,String> order = new HashMap<String, String>();
                order.put("description", orderList.get(i).getDescription());
                order.put("name", orderList.get(i).getOwnerName());
                System.out.println(orderList.get(i).getDescription());
                order.put("type",orderList.get(i).getTypeName());
                queryEvaluateList = orderServiceImpl.queryEvaluateListByUserId(orderList.get(i).getId());
                order.put("comment", queryEvaluateList.get(0).getComment());
                List<Allocation> allocation = orderServiceImpl.queryAllocationByOrderId(orderList.get(i).getId());
                order.put("price", String.valueOf(allocation.get(0).getPrice()));
                 System.out.println(order);
                workers.add(order);
            }
            //将map键值对转换成json,传给jsp
            response.getOutputStream().write(JSON.toJSONBytes(workers));
        }
发布了50 篇原创文章 · 获赞 7 · 访问量 4415

猜你喜欢

转载自blog.csdn.net/qq_37822034/article/details/103864830
今日推荐