【发布时间】:2009-02-05 15:07:46
【问题描述】:
正如标题所说,当单击某个元素(例如锚点)时,如何从 jsp 调用 java 类方法? (无需重新加载页面)
如果可以做到,我如何传递方法,调用它的页面的部分html代码?
我在 Jboss AS 上使用 jsp、servlet、javascript、struts2 和 java。
【问题讨论】:
正如标题所说,当单击某个元素(例如锚点)时,如何从 jsp 调用 java 类方法? (无需重新加载页面)
如果可以做到,我如何传递方法,调用它的页面的部分html代码?
我在 Jboss AS 上使用 jsp、servlet、javascript、struts2 和 java。
【问题讨论】:
您想要做的是在单击所述元素时让 javascript 触发 AJAX 请求。此 AJAX 请求将发送到服务器,然后服务器可以调用您想要的任何 java 代码。
现在您可以自己构建这一切,也可以使用众多现成的解决方案之一。我建议在 Google 上搜索 JSP Ajax 标记库。喜欢这个http://ajaxtags.sourceforge.net/。
【讨论】:
作为Marko pointed out,您可能需要阅读更多关于Web 编程中客户端/服务器分离的内容。如果您想要一个框架来帮助您从 Javascript 进行远程 Java 调用,请查看DWR。
【讨论】:
您可以使用 Ajax 调用来执行此操作。 现在,当单击 HTML 对象时,调用 java 脚本。然后在 JavaScript 中对 servlet 进行 Ajax 调用,如下所示
$.get("Query?ID="+id ,function(RespValue)
{
}
这里 Query 是我在 web.xml 中定义的 servlet 映射,Id 是我传递的参数,您也可以发送多个参数。 RespValue 是 servlet 返回的响应值。 在servelt 中编写一个do Get 方法并执行您的java 代码。如果要返回一些值,请使用函数(RespValue),否则将其删除。
【讨论】:
您无法在客户端浏览器中执行服务器端 java 代码。
您可以做的是执行新的http请求,该请求将在服务器上执行一些操作并返回操作结果。
鉴于问题的语气,最好阅读一些 JSP 教程。没有论坛帖子的答案能更好地解释它。
【讨论】: