[英]Alert message in Catch block of JSP
我有一個名為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>
<%
}%>
我嘗試了上面的代碼,但是沒有執行任何腳本代碼行。任何人都可以幫幫我。 提前致謝
第一件事
parent.loaction.href=parent.loaction.href; //what is loaction ???? its location
和第二
您要做的是在異常發生時在您的捕獲中調用警報,我建議您不要使用此警報 ! 僅僅因為混合它們並不能解決您實際想要達到的目的。
您要做的是將編程語言和腳本語言混合使用,兩者之間的區別在於,在遵從編程語言並在構建邏輯之后計算出所需結果的同時,清晰的腳本語言在客戶端運行。
如果您想使用js調用Java方法,則可以使用DWR
但不要這樣做
了解更多信息
也可以捕獲異常並向用戶顯示,您可以直接在div元素中顯示。或在發生div時顯示或隱藏該div
我認為您可能會誤解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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.