servlet里提示信息的问题 我采用的是JSP + Servlet,当我增加,或修改,或删除一条记录,或者操作出错时,想要弹出一个对话框提示用户,他的操作是否成功,请问在Servlet里应该怎么实现? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 out.println()来写页面,内容当然是js了。可以用true、false来断定是否成功、失败,对应的弹出信息。 String alertMsg = "<script language='JavaScript' type='text/JavaScript'>";alertMsg += "alert('对不起,相册密码不正确!请联系博客主人索取!');";alertMsg += "history.back();";alertMsg += "</script>";response.setContentType("text/html; charset=UTF-8");response.getWriter().println(alertMsg);response.getWriter().close(); 在servlet中写类似request.setAttribute("msg","增加成功!");然后在forward转向的JSP中写段javascript如:<script> var msg = '${msg}'; if(msg!=null) { alert(msg); }</script> out.print("<script> var r = window.confirm("是否成功"); if(r== true){ window.location="http://www.baidu.com"; }else{ window.location="http://www.google.com"; }</script>");里面的地址可以写你要跳转的页面. 纯servlet?那就是jsp也是用servlet里面用out.println来写?那我孤陋寡闻,不会...jsp的话alert就行但纯servlet的话不能弹出对话框的吧....最少最少你也要用awt吧....而且那也烦,不如在jsp里面用alert呢用标签是最快的了... 当然,如果你写成jsp里面out.println("<javascript>xxxxalert()xxxx</javascript>")那是可以的直接写?好像不行吧... request.setAttribute("flag","成功/失敗");頁面再get就可以阿。Ext.Msg.alert("操作"+<%=request.getAttribute("flag");%>); 对话框是弹出来了,但是为什么抛出错误了啊?java.lang.IllegalStateException:Cannot forward after response has been bommitted jar包问题?考虑了没?发的太少可以把你的代码多发点上来包括导入的JAR包 嘿嘿...打错字了抛出的错误是:java.lang.IllegalStateException:Cannot forward after response has been committed 这个可以的,在servlet 里面PrintWriter out=response.getWriter(); out.println("<html>");out.println("<head><title>添加成功</title></head>");out.println("<body>");out.println("<SCRIPT LANGUAGE='JavaScript'> alert('操作成功,请返回'); window.location.href('../xx.jsp');</script>"); //成功后返回你的页面out.println("</body></html>"); 我想在servlet里直接实现,觉得将结果返回到JSP页面再弹出对话框,太麻烦了. 输出了 字符,就不能使用formard跳转了,你可以这样:String alertMsg = " <script language='JavaScript' type='text/JavaScript'>"; alertMsg += "alert('对不起,相册密码不正确!请联系博客主人索取!');"; alertMsg += "history.back();"; alertMsg += "location.href='xx.jsp';";alertMsg += " </script>"; response.setContentType("text/html; charset=UTF-8"); response.getWriter().println(alertMsg); response.getWriter().close(); 进行跳转 对了 还要把 alertMsg += "history.back();"; 删除,否则 他返回之前的页面去了 alertMsg += "location.href='xx.jsp';";他返回到一个固定的页面里,那如果这个页面是进行查询操作以后生成的页面,要怎么处理?比如说:这个页面显示的是商品表里的信息,现在我新增加了一条商品信息,弹出提示框,增加成功,要怎么返回这个显示页面呢,里面显示了所有的商品信息,包括新增加的那一条。每次到这个显示页面之前都要进行查询所有商品,不管进行了删除,或是增加,或是修改。 servlet里提示?我不知道你是不是这个意思String xinxi = "add success";catch (Exception e) {xinxi = "add false";}finally {System.out.println(xinxi);}alertMsg += "location.href='xxservlet'";xxservlet 再跳转到jsp啊 System.out.println(xinxi)这个信息用户是看不到的啊,我要把信息返回给用户 你要跳转到哪里 都可以,servlet 或者 html 都可以alertMsg += "location.href='xx.jsp';";alertMsg += "location.href='xx.do';";alertMsg += "location.href='xx';";alertMsg += "location.href='xx.html';"; 框架问题 vlc播放器在java中的应用 求一个 简单的BBS设计思路 JSP+Servlet中form表单传递求教!! 详细咨询在线付款,谢谢大家 不一样的:Unable to compile class for JSP 页面的问题,Strut相关 只有20分了 关于用 Servlet 调用 Font.createFont() 的问题! 刷新问题? 怎么解决jdk中这个小小小小的问题? Eclipse加上Myeclipse下载问题 关于提交form的问题?
可以用true、false来断定是否成功、失败,对应的弹出信息。
alertMsg += "alert('对不起,相册密码不正确!请联系博客主人索取!');";
alertMsg += "history.back();";
alertMsg += "</script>";response.setContentType("text/html; charset=UTF-8");
response.getWriter().println(alertMsg);
response.getWriter().close();
然后在forward转向的JSP中写段javascript
如:
<script>
var msg = '${msg}';
if(msg!=null)
{
alert(msg);
}
</script>
var r = window.confirm("是否成功"); if(r== true){
window.location="http://www.baidu.com";
}else{
window.location="http://www.google.com";
}</script>");里面的地址可以写你要跳转的页面.
那就是jsp也是用servlet里面用out.println来写?
那我孤陋寡闻,不会...
jsp的话alert就行
但纯servlet的话不能弹出对话框的吧....
最少最少你也要用awt吧....而且那也烦,不如在jsp里面用alert呢
用标签是最快的了...
out.println("<javascript>xxxxalert()xxxx</javascript>")那是可以的
直接写?好像不行吧...
request.setAttribute("flag","成功/失敗");
頁面再get就可以阿。
Ext.Msg.alert("操作"+<%=request.getAttribute("flag");%>);
java.lang.IllegalStateException:Cannot forward after response has been bommitted
打错字了
抛出的错误是:java.lang.IllegalStateException:Cannot forward after response has been committed
PrintWriter out=response.getWriter();
out.println("<html>");
out.println("<head><title>添加成功</title></head>");
out.println("<body>");
out.println("<SCRIPT LANGUAGE='JavaScript'> alert('操作成功,请返回'); window.location.href('../xx.jsp');</script>"); //成功后返回你的页面
out.println("</body></html>");
输出了 字符,就不能使用formard跳转了,你可以这样:String alertMsg = " <script language='JavaScript' type='text/JavaScript'>";
alertMsg += "alert('对不起,相册密码不正确!请联系博客主人索取!');";
alertMsg += "history.back();";
alertMsg += "location.href='xx.jsp';";
alertMsg += " </script>"; response.setContentType("text/html; charset=UTF-8");
response.getWriter().println(alertMsg);
response.getWriter().close(); 进行跳转
我不知道你是不是这个意思String xinxi = "add success";
catch (Exception e) {
xinxi = "add false";
}finally {
System.out.println(xinxi);
}alertMsg += "location.href='xxservlet'";
xxservlet 再跳转到jsp啊
你要跳转到哪里 都可以,servlet 或者 html 都可以alertMsg += "location.href='xx.jsp';";alertMsg += "location.href='xx.do';";alertMsg += "location.href='xx';";alertMsg += "location.href='xx.html';";