当前位置:编程学习 > JAVA >>

Cannot call sendError() after the response has been committed

大家好,有个奇怪的错误!帮帮忙看下啦
服务器后台输出有错误,但客户端看到的结果却并无出错。
Cannot call sendError() after the response has been committed

public String DeleteRoleFun() throws IOException{
HttpServletResponse response=ServletActionContext.getResponse();
response.setContentType("text;charset=UTF-8");
PrintWriter out=response.getWriter();
Set<Users> u=null;
try {
trole=roleService.getTroleByid(trole.getId());
u=trole.getUsers();
if(u.size()>0){
out.print("1");
out.flush();
out.close();
}else{
roleDao.deleteRole(trole);
out.print("2");
out.flush();
out.close();
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
System.out.println("eeeeeeeeeeee");
out.print("-1");
out.flush();
out.close();
}

return "delete_rolefun";
}

struts.xml
<action name="DeleteRoleFun" class="DeleteRoleFun" method="DeleteRoleFun">
<result name="delete_rolefun" type="redirectAction">FindAllRole.action</result>
</action>

jsp中代码
var xmlDoc = request.responseText;
//alert(xmlDoc);
if("-1" == xmlDoc){
RightMenu.ShowResult("mess","<p><font color='green'>检测失败!</font></p>");
}else if("1" == xmlDoc){
RightMenu.ShowResult("mess","该角色下存在用户,不能删除!</p>");
return ;
}else if("2"==xmlDoc){    
RightMenu.ShowResult("mess","删除成功 !</p>");
location.href="FindAllRole.action";
} --------------------编程问答-------------------- 兄弟啊,以后发帖将代码格式化下
public String DeleteRoleFun() throws IOException {
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text;charset=UTF-8");
PrintWriter out = response.getWriter();
Set<Users> u = null;
try {
trole = roleService.getTroleByid(trole.getId());
u = trole.getUsers();
if (u.size() > 0) {
out.print("1");
out.flush();
out.close();
} else {
roleDao.deleteRole(trole);
out.print("2");
out.flush();
out.close();
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
System.out.println("eeeeeeeeeeee");
out.print("-1");
out.flush();
out.close();
}

return "delete_rolefun";
}
--------------------编程问答-------------------- 这段代码看不出什么错误,可以肯定的是,出现Cannot call sendError() after the response has been committed这个错误,是由于你多次response了……
补充:Java ,  Java EE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,