我有一个名为process.jsp的JSP。在我的应用程序中单击命令后,将打开一个弹出窗口,其中包含一些数据以供选择,选择数据并单击Submit之后,将在需要处理数据的地方调用procees.jsp。并存储到数据库中。在process.jsp中,我有try catch块。假设如果在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>
<%
}%>
我尝试了上面的代码,但是没有执行任何脚本代码行。任何人都可以帮帮我。
提前致谢
最佳答案
我认为您可能会误解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>