【问题标题】:How to call a java method from a jsp when a html element is clicked?单击html元素时如何从jsp调用java方法?
【发布时间】:2009-02-05 15:07:46
【问题描述】:

正如标题所说,当单击某个元素(例如锚点)时,如何从 jsp 调用 java 类方法? (无需重新加载页面)

如果可以做到,我如何传递方法,调用它的页面的部分html代码?

我在 Jboss AS 上使用 jsp、servlet、javascript、struts2 和 java。

【问题讨论】:

    标签: java jsp


    【解决方案1】:

    您想要做的是在单击所述元素时让 javascript 触发 AJAX 请求。此 AJAX 请求将发送到服务器,然后服务器可以调用您想要的任何 java 代码。

    现在您可以自己构建这一切,也可以使用众多现成的解决方案之一。我建议在 Google 上搜索 JSP Ajax 标记库。喜欢这个http://ajaxtags.sourceforge.net/

    【讨论】:

      【解决方案2】:

      作为Marko pointed out,您可能需要阅读更多关于Web 编程中客户端/服务器分离的内容。如果您想要一个框架来帮助您从 Javascript 进行远程 Java 调用,请查看DWR

      【讨论】:

        【解决方案3】:

        您可以使用 Ajax 调用来执行此操作。 现在,当单击 HTML 对象时,调用 java 脚本。然后在 JavaScript 中对 servlet 进行 Ajax 调用,如下所示

            $.get("Query?ID="+id ,function(RespValue) 
                 {
        
        
        }
        

        这里 Query 是我在 web.xml 中定义的 servlet 映射,Id 是我传递的参数,您也可以发送多个参数。 RespValue 是 servlet 返回的响应值。 在servelt 中编写一个do Get 方法并执行您的java 代码。如果要返回一些值,请使用函数(RespValue),否则将其删除。

        【讨论】:

          【解决方案4】:

          您无法在客户端浏览器中执行服务器端 java 代码。

          您可以做的是执行新的http请求,该请求将在服务器上执行一些操作并返回操作结果。

          鉴于问题的语气,最好阅读一些 JSP 教程。没有论坛帖子的答案能更好地解释它。

          【讨论】:

          • 我不想在客户端执行java代码。我想要的是在jsp上单击一个元素时执行一个java函数(在服务器端)。当您标记我的问题时,我可能是新手,但是如果我已经知道答案,那么我将不会在此处发布。你的回答没有用。
          • 建议在网络上的所有论坛中在回答之前阅读问题...
          猜你喜欢
          • 2012-06-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-05-08
          • 1970-01-01
          • 2014-02-20
          • 1970-01-01
          相关资源
          最近更新 更多