使用HTML在JSP中调用java scriptlet

我试图找到一种方法来使用HTML表单在JSP中调用一段java code

  

上面的代码在JSP中。 我希望在提交时运行scriptlet

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

谢谢

您可以使用Ajax将表单提交给servlet并评估java代码,但保持在同一窗口中。

JSP页面:

 

对不起, 不可能。

Jsp位于server端, htmlclient side播放,除非没有提出request你不能这样做:)

你不能在scriptlet编写java method 。 因为在compilation时, scriptlet代码成为service方法的一部分。 因此,方法中的方法是错误的。

你怎么能在init tag编写java methods ,并且可以从scriptlet调用,如下面的代码。

 
<% invokeMe(); %> <%! private void invokeMe(){ out.println("He invoked me. I am happy!"); } %>

不可能。 提交表单时,它会向服务器发送请求。 你有2个选择:

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

要么

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

  

你不能这样做,因为JSP渲染发生在服务器端,而客户端永远不会在返回的HTML中接收Java代码(即invokeMe()函数)。 无论如何,它不知道在运行时如何处理Java代码!

而且,

标签不会调用函数 ,它会将HTTP form发送到action属性中指定的URL。