使用HTML在JSP中调用java scriptlet
我试图找到一种方法来使用HTML表单在JSP中调用一段java code
上面的代码在JSP中。 我希望在提交时运行scriptlet
我知道代码看起来很糟糕,但我只想掌握这个概念……以及如何去实现它。
谢谢
您可以使用Ajax将表单提交给servlet并评估java代码,但保持在同一窗口中。
JSP页面:
对不起, 不可能。
Jsp位于server
端, html
在client 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。