java - JSP 的 Catch block 中的警报消息

标签 java javascript jsp

我有一个名为 process.jsp 的 JSP。在我的应用程序中单击一个命令后,将打开一个弹出窗口,其中包含一些可供选择的数据,在我选择数据并单击提交后,将在我必须调用的地方调用 procees.jsp处理数据并存储到数据库中。在 process.jsp 中,我有 try catch block 。假设如果在 try block 中抛出任何异常,它应该在 catch block 中捕获,并且警告消息应显示为“处理失败”和父窗口关闭弹出窗口后应该会刷新。代码如下所示

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

<%
}%>

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

最佳答案

我认为您可能误解了 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>

关于java - JSP 的 Catch block 中的警报消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22565462/

相关文章:

javascript - 计算数组中 date() 条目之间的平均差异(以毫秒为单位)

java - 将动态 json 属性添加为 jackson 的 java pojo

java - Eclipse 中的 Maven 编译器警告和错误

java - Quarkus Panache Hibernate : How to clear the cache, 使实体世界与数据库状态匹配?

javascript - "backbutton"事件不会触发

java - 在jsp中打印 session 属性

java - 如何从 Web 应用程序的根目录引用 Java Web 应用程序中的任何图像?

javascript - 尝试在 React 中创建一个番茄钟但坚持正确传递 Prop

java - 如何从jsp文件中调用java类

java - JSP 编译失败,返回 "The method [MethodSignature] is undefined for the type [ClassName]"