• FastJson+Servlet实现Ajax案例


    Servlet编码

    package com.etc.action;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.HashMap;
    import java.util.TreeMap;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import com.alibaba.fastjson.JSON;
    import com.etc.mc.CJCount;
    
    /**向客户端提供json数据*/
    @WebServlet("/CJServlet")
    public class CJServlet extends HttpServlet {
    	private static final long serialVersionUID = 1L;
    	
    
    	protected void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    		//post乱码处理	
    		request.setCharacterEncoding("utf-8");	
    		// 设置响应数据类型
    		response.setContentType("text/html");
    		// 设置响应编码格式
    		response.setCharacterEncoding("utf-8");
    		// 获取out对象
    		PrintWriter out = response.getWriter();		
    		//组织json数据
    		TreeMap<String, Float> map=null;
    		
    		try {
    			map=CJCount.main();
    		} catch (Exception e) {
    			System.out.println("获取数据出错");
    		}
    		
    		//通过构建map集合转换为嵌套json格式数据
    		HashMap jsonmap = new HashMap();
    		jsonmap.put("mytitle","长江收盘价折线图");
    		jsonmap.put("mylegend", "收盘价");
    		jsonmap.put("prolist", map);
    		
    		String str =JSON.toJSONString(jsonmap);		
    		System.out.println(str);
    
    		out.print(str);
    		out.flush();
    		out.close();
    
    	}
    
    	protected void doPost(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    		doGet(request, response);
    	}
    
    }
    

      

    JSP视图处理JSON数据

    $(function() {
    			var mytitle;
    			var mylegend;
    			var xdata = new Array();
    			var ydata = new Array();
    
    			$.getJSON("CJServlet", function(data) {
    				mytitle = data.mytitle;
    				mylegend = data.mylegend;
    				//获取x轴数据
    				console.log(data);
    				$.each(data.prolist, function(i, n) {
    					xdata.push(i);
    				});
    				//获取y轴数据
    				$.each(data.prolist, function(i, n) {
    					ydata.push(n);
    				});
    				console.log(xdata);
    				console.log(ydata);
    				//执行函数
    				showdata(mytitle, [ mylegend ], xdata, ydata);
    			});
    
    		});
    

      

  • 相关阅读:
    表格标签
    图片标签
    超链接标签
    媒体标签
    实体标签
    html常用的标签
    头信息的作用
    【bzoj5017】[Snoi2017]炸弹 线段树优化建图+Tarjan+拓扑排序
    【bzoj3309】DZY Loves Math 莫比乌斯反演+线性筛
    【bzoj4010】[HNOI2015]菜肴制作 拓扑排序+堆
  • 原文地址:https://www.cnblogs.com/rask/p/13187914.html
Copyright © 2020-2023  润新知