将值从jsp发送到java或从javascript发送到java

将值从jsp发送到java或从javascript发送到java,javascript,Javascript,我在一张表格里有一张名单。当我单击该名称时,它会显示该特定名称下的人员。 例: 现在我想对aaa进行移动,在工具提示中显示2(aaa下的ppl数) <a id="tool" title="toolTip" onmouseover="toolTip(localArrGroupNames[<%=in.intValue() %>])"> function toolTip(name){ alert(name); //can I send this name to a j

我在一张表格里有一张名单。当我单击该名称时,它会显示该特定名称下的人员。 例:

现在我想对aaa进行移动,在工具提示中显示2(aaa下的ppl数)

<a id="tool" title="toolTip" onmouseover="toolTip(localArrGroupNames[<%=in.intValue() %>])">

function toolTip(name){
  alert(name);
  //can I send this name to a java class ???

}

函数工具提示(名称){
警报(名称);
//我可以将此名称发送到java类吗???
}

我在localArrGroupNames[0]中获得了名称aaa。但在java类中,我无法获得名称,在java类中,我计算的人数低于aaa。如何将该值发送到java类?请帮助我。

jsp是服务器端,呈现的HTML是客户端,因此javascript在客户端的webbrowser中运行

function toolTip(name){
   alert(name);
   //can I send this name to a java class ???

    new Ajax.Request('jspFile.jsp', {
        parameters: {
            name: name
        },
        method: 'get',
        onComplete: function(transport) {
            var resp = transport.responseText.strip();
            $('tool').update(resp);
        }
    });
}
要将任何数据从该客户机发送到服务器上的java类,需要以某种形式发出请求

这可以通过在html表单上使用提交来实现

因此,您可以让您的工具提示javascript方法将所选名称存储在一个隐藏的输入字段中,然后通过提交将其传递给java类(通常是一个servlet或一些jsp)


或者更复杂的AJAX(或类似)框架,允许javascript将名称传递给服务器,而无需提交整个页面

您需要向服务器提交请求,您可以使用AJAX异步执行,也可以使用jsp页面中的表单提交

当然,您需要提供正确的url(表单操作或ajax连接url),并在服务器上运行相应的url


如果使用ajax,大多数人使用和/或记住Javascript只在客户端运行,而Java只在服务器端运行。Java可以设置Javascript变量,因为服务器首先处理Java,然后将Javascript、CSS和html发送回浏览器进行处理


要将Javascript变量发送到服务器,必须将数据从客户端发送到服务器。一种方法是提交表单,另一种方法是创建Ajax请求(HTTP上的XML)。有很多JS库可以帮助您实现Ajax。

您可以使用Ajax实现这一点,请查看PrototypeJS这听起来很危险。我的建议是在检索名称列表的同时检索工具提示。尽管AJAX能够做到这一点,但这样做会向服务器发出太多的请求。
function toolTip(name){
   alert(name);
   //can I send this name to a java class ???

    new Ajax.Request('jspFile.jsp', {
        parameters: {
            name: name
        },
        method: 'get',
        onComplete: function(transport) {
            var resp = transport.responseText.strip();
            $('tool').update(resp);
        }
    });
}