我有上面的js和JSP代码,我想在点击确认窗口poopup上的procedureCall()
按钮时调用ok
(内部"如果"语句)。 是否有可能,如果是,可以如何做?
<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 :(得分: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和name都是&#39; param1&#39;为了简单.. 在scriptlet中你可以这样做
<%
if(request.getParamter("param1")=='paramvalue'){procedureCall();}
%>
只是要添加我会建议删除scriplets并使用ajax,如第一种方法。
答案 1 :(得分:0)
使用表单提交或ajax请求或框架操作返回结束并处理您所需的内容。在您的方法中,我认为这是不可能的。 请不要在jsp中使用scriplets,这不是一个好习惯。