public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { //response.setContentType("text/html;charset=utf-8");
response.setContentType("application/json;charset=UTF-8");
PrintWriter out = response.getWriter();
TongjiDAO tj=new TongjiDAO();
String tjtype=request.getParameter("tjtype");
if(tjtype.equals("tj1")){
int[] counts=new int[12];
CreateDate t=new CreateDate();
ArrayList startlist=t.getTime("-1");
ArrayList endlist=t.getTime("-31");
System.out.println("startlist.size()="+startlist.size());
for(int i=0;i<startlist.size();i++){
counts[i] = tj.getrcdNumByMon((Date)startlist.get(i), (Date)endlist.get(i));
}
// for(int i=0;i<counts.length;i++){
// request.setAttribute("num"+i, counts[i]);
// }
//制作标签数组
java.util.Date date = new java.util.Date();
DateFormat df = DateFormat.getDateInstance();
String[] labels = new String[12];
String dates = df.format(date);
String dateArr[] = dates.split("-");
int year = Integer.parseInt(dateArr[0]);
int mon = Integer.parseInt(dateArr[1]);
int total = 12;
for (int i = 0; i < labels.length; i++) {
if (mon != 0) {
labels[i] = year + "年" + mon + "月份";
mon--;
} else {
labels[i] = (year - 1) + "年" + total + "月份";
total--;
}
} JSONObject jsonObj=new JSONObject();
//将准备好的两个数组加进来
jsonObj.accumulate("counts", counts);
jsonObj.accumulate("labels", labels);
out.println(jsonObj.toString());
System.out.println(jsonObj.toString());
request.getRequestDispatcher("/WEB-INF/tongji/tj1.jsp").forward(request, response);
} }全一点的代码
解决方案 »
- log4j连接数据库问题
- S.S.H框架,如果系统越做越大,配置文件也越来越大,这个文件的内容大小有限制吗?
- 在JSP里调用另外一个页面传入一个参数,怎么取得返回值
- JSP+oracle 用户登录验证
- select下接列表如何与取出的字段值相关连起来
- 学java学得好迷茫啊
- c/s软件改b/s问题,分数大大的有!
- !!!!!急!!一位在校的计算机专业的mm想请问各位大侠:如何用jsp对文本文件进行修改
- 求J2EE的api文档,我去java.sun.com了,但那上面只有在线阅读的,我找不到下载的地方?
- list循环执行spring data jpa的查询方法出错
- Java应用XFire调用c# WebService接口,传值null
- 把页面里面表格数据以word模板下载下来怎么弄!
out.println(jsonObj.toString());你的后台只println,并没有flush和close,应该没有写回,所以你页面获取的应该是一个null。
还有你在servlet里面打印一下你的JSON字符串,放到JSON解析工具中看一下格式是否标准。
控制台打出来的
{"counts":[167,591,307,43,8,0,0,1,0,0,0,0],"labels":["2014年7月份","2014年6月份","2014年5月份","2014年4月份","2014年3月份","2014年2月份","2014年1月份","2013年12月份","2013年11月份","2013年10月份","2013年9月份","2013年8月份"]}
response.setContentType("(application/x-json;charset=UTF-8");
学习、梳理一下ajax、json、servlet中使用json、ajax的知识了
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { response.setContentType("(application/x-json;charset=UTF-8");
PrintWriter out = response.getWriter();
TongjiDAO tj=new TongjiDAO();
String tjtype=request.getParameter("tjtype");
if(tjtype.equals("tj1")){
int[] counts=new int[12];
CreateDate t=new CreateDate();
ArrayList startlist=t.getTime("-1");
ArrayList endlist=t.getTime("-31");
System.out.println("startlist.size()="+startlist.size());
for(int i=0;i<startlist.size();i++){
counts[i] = tj.getrcdNumByMon((Date)startlist.get(i), (Date)endlist.get(i));
}
// for(int i=0;i<counts.length;i++){
// request.setAttribute("num"+i, counts[i]);
// }
//制作标签数组
java.util.Date date = new java.util.Date();
DateFormat df = DateFormat.getDateInstance();
String[] labels = new String[12];
String dates = df.format(date);
String dateArr[] = dates.split("-");
int year = Integer.parseInt(dateArr[0]);
int mon = Integer.parseInt(dateArr[1]);
int total = 12;
for (int i = 0; i < labels.length; i++) {
if (mon != 0) {
labels[i] = year + "年" + mon + "月份";
mon--;
} else {
labels[i] = (year - 1) + "年" + total + "月份";
total--;
}
} JSONObject jsonObj=new JSONObject();
//将准备好的两个数组加进来
jsonObj.accumulate("counts", counts);
jsonObj.accumulate("labels", labels);
out.write(jsonObj.toString());
out.flush();
out.close();
}
}
jsp界面
jQuery.ajax({
url:"<%=request.getContextPath()%>/servlet/FtpUtilServlet",
type:"post",
data:"type="+myprovince_id,
dataType:"json",
success:function(json){
var cc = json.array;
}});
servlet 界面
[code=html] JSONArray array = new JSONArray();
JSONObject filejson = new JSONObject();
filejson.put("array", array);
out.print(filejson);
out.flush();
out.close();