Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用HTML在JSP中调用java scriptlet_Java_Jsp_Servlets_Scriptlet - Fatal编程技术网

使用HTML在JSP中调用java scriptlet

使用HTML在JSP中调用java scriptlet,java,jsp,servlets,scriptlet,Java,Jsp,Servlets,Scriptlet,我试图找到一种使用HTML表单在JSP中调用java代码的方法 <form method="get" action="invokeMe()"> <input type="submit" value="click to submit" /> </form> <% private void invokeMe(){ out.println("He invoked me. I am happy!");

我试图找到一种使用HTML表单在JSP中调用java代码的方法

  <form method="get" action="invokeMe()">

       <input type="submit" value="click to submit" />

  </form>


  <%
     private void invokeMe(){
       out.println("He invoked me. I am happy!");   
     }
  %>
上面的代码在JSP中。我希望此脚本在提交时运行

我知道代码看起来很糟糕,但我只想掌握这个概念。。。以及如何去做


谢谢

您不能这样做,因为JSP呈现发生在服务器端,客户端永远不会收到Java代码,即返回的HTML中的invokeMe函数。无论如何,它不知道在运行时如何处理Java代码


此外,标记不调用函数,它将HTTP表单发送到action属性中指定的URL。

您不能这样做,因为JSP呈现发生在服务器端,客户端永远不会收到Java代码,即返回HTML中的invokeMe函数。无论如何,它不知道在运行时如何处理Java代码

此外,标记不调用函数,它将HTTP表单发送到action属性中指定的URL。

对不起,不可能

Jsp位于服务器端,html在客户端播放,除非未发出请求,否则无法执行此操作:

对不起,不可能

Jsp位于服务器端,html在客户端播放,除非您不发出请求,否则无法执行此操作:

您无法在scriptlet中编写java方法。因为在编译时,scriptlet中的代码成为服务方法的一部分。因此,方法中的方法是错误的

如何在init标记中编写java方法,以及如何从scriptlet调用,如下面的代码所示

<form method="get" action="">

       <input type="submit" value="click to submit" />

  </form>

    <%
        invokeMe();

     %>

  <%!
       private void invokeMe(){
       out.println("He invoked me. I am happy!");   
     }
   %>
不能在scriptlet中编写java方法。因为在编译时,scriptlet中的代码成为服务方法的一部分。因此,方法中的方法是错误的

如何在init标记中编写java方法,以及如何从scriptlet调用,如下面的代码所示

<form method="get" action="">

       <input type="submit" value="click to submit" />

  </form>

    <%
        invokeMe();

     %>

  <%!
       private void invokeMe(){
       out.println("He invoked me. I am happy!");   
     }
   %>
不可能。 提交表单时,它会向服务器发送请求。您有两种选择:

当服务器收到表单发送的请求时,让服务器执行所需的操作

使用Javascript在客户端上执行所需的操作:

 <form name="frm1" action="submit" onsubmit="invokeMe()"
 ...
 </form>

 <script>
 function invokeMe()
 {
 alert("He invoked me. I am happy!")
 }
 </script>
不可能。 提交表单时,它会向服务器发送请求。您有两种选择:

当服务器收到表单发送的请求时,让服务器执行所需的操作

使用Javascript在客户端上执行所需的操作:

 <form name="frm1" action="submit" onsubmit="invokeMe()"
 ...
 </form>

 <script>
 function invokeMe()
 {
 alert("He invoked me. I am happy!")
 }
 </script>
您可以使用Ajax将表单提交到servlet并评估java代码,但保持在同一窗口上

<form method="get" action="invokeMe()" id="submit">

       <input type="submit" value="click to submit" />

</form>

<script>
    $(document).ready(function() {
        $("#submit").submit(function(event) {
            $.ajax({
                type : "POST",
                url : "your servlet here(for example: DeleteUser)",
                data : "id=" + id,
                success : function() {
                    alert("message");
                }
            });
            $('#submit').submit(); // if you want to submit form
        });
    });
</script>
您可以使用Ajax将表单提交到servlet并评估java代码,但保持在同一窗口上

<form method="get" action="invokeMe()" id="submit">

       <input type="submit" value="click to submit" />

</form>

<script>
    $(document).ready(function() {
        $("#submit").submit(function(event) {
            $.ajax({
                type : "POST",
                url : "your servlet here(for example: DeleteUser)",
                data : "id=" + id,
                success : function() {
                    alert("message");
                }
            });
            $('#submit').submit(); // if you want to submit form
        });
    });
</script>

抱歉@kholofelo,但您不能这样做。您可以使用Serlet来执行此操作。抱歉@kholofelo,但您不能这样做。您可以使用Serlet来执行此操作。