2015-04-17 75 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作为第一种方法。