JSP的Catch块中的警报消息

时间:2014-03-21 17:24:10

标签: java javascript jsp

我有一个名为process.jsp的JSP.Upon点击我的应用程序中的命令,弹出窗口会打开一些数据来选择,在我选择数据并点击提交后,将调用procees.jsp。处理数据并存储到database.In process.jsp,我尝试catch block.suppose如果在try块中抛出任何异常它应该在catch块中捕获并且警告消息应该显示为“处理失败”和父窗口关闭弹出窗口后应该刷新。代码如下所示

<%
try{
int a=1/0;
}catch(Exception ex){
ex.printStackTrace();
%>
<script>alert("process fialed");
window.close();
parent.loaction.href=parent.loaction.href;
</script>

<%
}%>

我尝试使用上面的代码,但没有任何脚本代码行被执行。任何人都可以帮助我。     提前致谢

2 个答案:

答案 0 :(得分:0)

第一件事

parent.loaction.href=parent.loaction.href; //what is loaction ???? its location

和第二

您想要做的是在发生异常时在捕获中调用警报 我的建议是不要用这个!仅仅因为混合它们不会解决你真正想要做的目的。

你正在做的是混合编程语言&amp;脚本语言它们之间的区别是,在编译语言时,客户端运行清晰的脚本语言,并在构建逻辑后计算所需的结果。

如果您想使用js调用java方法,可以使用DWR但不要这样做

了解更多内容

https://softwareengineering.stackexchange.com/questions/46137/what-is-the-main-difference-between-scripting-languages-and-programming-language

Scripting Language vs Programming Language

也可以捕获异常并向用户显示你可以直接显示在div元素中。或者当div发生时显示或隐藏它

答案 1 :(得分:0)

我认为您可能误解了JSP中的Java代码与页面的Javascript / HTML之间的关系。无论如何,我认为这可以解决你想要做的事情:

<html>
<body style="margin:0; padding:0">
    <%
    String errorMsg = null;
    try {
        // do something
        throw new Exception("This is an error");
    } catch (Exception e) {
        errorMsg = e.getMessage();
    }
    if (errorMsg != null) {
        %>
        <script>alert('<%=errorMsg%>');</script>
        <%
    }   
    %>
</body>
</html>