Javascript 单击“重定向到特定页面”;“好的”;
我的Servlet-“导入文件”:Javascript 单击“重定向到特定页面”;“好的”;,javascript,java,servlets,Javascript,Java,Servlets,我的Servlet-“导入文件”: doPost(){ ... ... PrintWriter out=response.getWriter(); response.setContentType(“text/html”); 如果(状态等于(“失败”)){ out.println(“”); println(“警报('Import Failed!');”; out.println(“”); }否则{ out.println(“”); out.println(“警报('Import successfu
doPost(){
...
...
PrintWriter out=response.getWriter();
response.setContentType(“text/html”);
如果(状态等于(“失败”)){
out.println(“”);
println(“警报('Import Failed!');”;
out.println(“”);
}否则{
out.println(“”);
out.println(“警报('Import successfull!');”;
out.println(“”);
}
//sendRedirect(request.getContextPath());
out.flush();
}
成功或失败后,这将登录到不存在的/ImportFile页面。
如何将其重定向到ContextPath?sendRedirect添加一个由浏览器解释的HTTP头“位置”,使其自动重定向到给定位置 因此,如果在发送数据后调用该方法,则标头已经发送,无法工作 尝试在任何输出之前调用该方法 但是重定向响应不应该有任何正文,因为如果指定了重定向,浏览器可能会忽略它。如果要首先用javascript显示消息,请使用javascript执行重定向,如:
out.println("location.href = \"" + request.getContextPath() + "\";");
在您发出警报之后:
PrintWriter out=response.getWriter();
response.setContentType(“text/html”);
out.println(“”);
out.println(“”);
如果(状态等于(“失败”)){
println(“警报('Import Failed!');”;
}否则{
out.println(“警报('Import successfull!');”;
}
out.println(“location.href=\”“+request.getContextPath()+“\”;”;
out.println(“”);
out.println(“”);
out.flush();
谢谢您的回答。在暗示您的答案后,我会像以前一样被重定向到空页面[/ImportFile],它不会引发任何警报。您的浏览器控制台上是否有任何错误?out.println(“location.href=“+request.getContextPath()+”;”;这里缺少了“”,我进行了调整,效果很好!!!新的更改:out.println(“location.href=\”+request.getContextPath()+“\”;”);是的,很抱歉,我编辑了我的答案
out.println("location.href = \"" + request.getContextPath() + "\";");