这下面是JSP页面的提示框展示的代码:这个小问题好几天了,求大虾帮帮忙,谢谢啊
<script language="javascript">
function confirmdelete(typeid){
if(confirm("确定要删除该频道?"))
location.replace( " <%=request.getContextPath()%>/DeleteHotelType?typeid="+typeid);//DeleteHotelType是servlet        
}
</script>
<%
String msg=(String)request.getAttribute("message");
System.out.println(msg);
if(msg!=null){
%>
<script type="text/javascript">
alert(<%=msg%>);
</script>
<%}
%>
这是servlet的DeleteHotelType.java中传递的参数:
request.setAttribute("message", hts.getMessage());
这个hts是一个Service类,getMessage最终从这个Service得到:
if(childrentypes.size()!=0){
message="已经存在下属分类,不允许删除!";
return false;
} else {
hoteltypeDAO.deleteHotelType(hoteltype);
conn.commit();
return true;}
最后运行,在网页提示:"已经存在下属分类,不允许删除!"未定义
                      DeleteHotelType                                      行:24
                      代码:0                                            字符:2
                      URL:http://localhost:8080/test2/DeleteHotelType?typeid=14

解决方案 »

  1.   

    alert(<%=msg%>);改为 alert("<%=msg%>");
      

  2.   

    这个没办法避免,都是这样子的,除非你的页面不是jsp,静态页面可以完成你说的,为什么,因为jsp是先编译的,编译完成之后就alert()了,这时候浏览器才刚刚接收到传递过来的html,所以,前面显示的肯定是空白页面。。
      

  3.   


    如果想在原来的页面话
    方法一:使用ajax提交到另一个页面,返回结果还是在当前窗口弹出
    方法二:在当前页增加一个iframe,把表单的target改为iframe的名字,当然form的action还是另一个页面