不经意间的流占用,导致json总为空问题
来源:互联网 发布:和还原精灵类似软件 编辑:程序博客网 时间:2024/04/28 22:30
今天调试了一个Bug,历时7个小时,究其原因,一个是自己水平太菜,另一个可能就是不够仔细和细心吧。
贴上来,与大家分享。
前台是用easyui写的,其中有一个批量添加的方法,代码如下:
function append() {
var p = parent.dj.dialog({
title : '添加用户',
href : '${pageContext.request.contextPath}/student!studentAdd.do',
width : 640,
height :600,
buttons : [ {
text : '添加',
handler : function() {
var f = p.find('form');
f.form('submit', {
url : '${pageContext.request.contextPath}/student!add.do',
success : function(d) {
var json = $.parseJSON(d);
if (json.success) {
datagrid.datagrid('reload');
p.dialog('close');
}
parent.dj.messagerShow({
msg : json.msg,
title : '提示'
});
}
});
}
} ],
});
}
批量添加成功后,将会重新加载页面,是否成功是根据后台传往前台的一个封装好的json对象中的success的值进行判断,即前台中的if (json.success),后台的添加(add)方法为:
public void add() {
Json j = new Json();
try {
System.out.println("前台过来的学生姓名个数为:"
+ (request.getParameterValues("studentName")).length);
List<Student> students = split();
for (Student student : students) {
String studentPicture = savePic();
student.setStudentPicture(studentPicture);
studentService.save(student);
}
j.setSuccess(true);
j.setMsg("添加成功!");
} catch (ValidateFieldsException e) {
e.printStackTrace();
}
super.writeJson(j);
}
一开始,我前台拿到的json总为空,但是我的传值方法没错
ServletActionContext.getResponse().getWriter().write(json);
ServletActionContext.getResponse().getWriter().flush();
ServletActionContext.getResponse().getWriter().close();
后来,终于发现,是在savePic()函数(一个上传图片的程序)中有这么一句话
PrintWriter out = response.getWriter(); out.println("上传文件扩展名是不允许的扩展名。");
把这句话注释掉就好了,我想可能是这句话的out与上面的write引起了覆盖之类的,这只是我的猜测,如有大神愿意指教,小弟十分感谢。
总之,终于调好了,关键在于不能放弃,坚持到底。。。。。
- 不经意间的流占用,导致json总为空问题
- 好的总在不经意间出现
- 好的总在不经意间出现
- 好的总在不经意间出现
- image src 属性为空导致的问题
- 前台集成 dwr, 导致后台servletContext 为空的问题
- 【2016年总】——蜕变,总在不经意间
- 不经意间的悔恨
- php 返回 json 为空 undefined 或者 失败的问题
- C++空类占用内存的问题
- axis部署到weblogic因为运行环境为jrockit导致空指针的问题
- Angularjs Promise 解决异步获取数据导致return返回为空的问题
- jquery select2插件id为空导致服务端搜索不到内容问题的解决
- 一个窗口的window.parent属性总不为空
- 为什么我创建的索引总为空?郁闷
- properties导致空指针的问题
- WebView loadurl导致的空指针问题
- 对象问题导致listview显示内容为空
- @RequestMapping 用法详解之地址映射
- 0011-APP-Activity-Translucent-Blur
- 【转载】如何使用Visual Studio 2010(VS2010)编译C语言
- Java学习笔记_13_关系运算符
- poj2488 A Knight's Journey 简单DFS 注意搜索步骤
- 不经意间的流占用,导致json总为空问题
- Linux多线程,生产者消费者算法和条件变量的使用
- poj3083 Children of the Candy Corn dfs 和 bfs 的综合,终于AC了
- @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
- Leetcode之Median of Two Sorted Arrays
- 并行计算的一些背景知识
- 技术网站汇总
- 高效能人士的七个习惯摘录
- Android Studio 快捷键