2015-04-17 73 views
0

我有上面的js和JSP代碼,我想在調用procedureCall()時點擊ok按鈕確認窗口poopup(在「if」語句中)。 這是可能的,如果是的話,它是如何做到的?從javascript調用JSP方法

<script type="text/javascript"> 
     function confirmDelete() { 
      var answer = confirm("Are you sure you want to delete"); 
      if (answer == true) { 
       return true; 
      } else { 
       return false; 
      } 
     } 
</script> 

JSP片:

<%! public void procedureCall(int cId) { 
      String procedureCall = "{call NEW_PORTING_PRC.delete_album_metadata(cId)}"; 
       try (CallableStatement cal = conn.prepareCall(procedureCall);) { 

       } catch (Exception e) { 
        e.printStackTrace(); 
       } 
%> 

回答

0

使用表單提交或Ajax請求或框架行動去後端和處理需要you.In你的方法,它不可能我想的東西。 請不要在jsp中使用scriplets,這不是一個好習慣。

2

javascript在您的瀏覽器中運行,您的java代碼部署在您的容器(Tomcat)中。 所以調用此方法的唯一方法是通過Web調用。你的javascript應該調用一個servlet的ajax調用(在web.xml中配置),這個servlet應該調用你的java方法。 像JS你寫的

$.get('URLofServlet'); 

OR 你可以嘗試與一些參數提交JSP和重裝JSP ..

if (answer == true) 
{ 
    document.getElementById("param1").value='paramvalue'; 
    document.getElementById("myForm").action='yourJspPath.jsp'; 
    document.getElementById("myForm").submit(); 
} 

而且我認爲ID和名稱將兩者都是'param1'爲簡單起見。 和scriptlet你可以這樣做:

<% 
    if(request.getParamter("param1")=='paramvalue'){procedureCall();} 
%> 

只要添加我會建議刪除腳本和使用ajax作爲第一種方法。