簡體   English   中英

JSP的Catch塊中的警報消息

[英]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但不要這樣做

了解更多信息

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

腳本語言與編程語言

也可以捕獲異常並向用戶顯示,您可以直接在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM