将值从JavaScript分配给Java变量

时间:2009-12-22 05:31:04

标签: java javascript jsp jstl

如何在JSP页面中将JavaScript中的值赋值给Java变量?有可能这样做吗?

以下是javascript函数:

function loadGroupMembers(beanArrayVal){
    document.getElementById("beanVal").value=beanArrayVal;

   ------------I have mentioned my requirement below --------------

   %%%%%%%%%%%%%%%

   int beanArrVal =beanArrayVal ;

   %%%%%%%%%%%%%%

   ( or )

   %%%%%%%%%%

   c:set  var="beanvalue" value="${beanArrayVal}"

   %%%%%%%%%%%%%

}

即使我在上述相同功能中使用id beanArrayVal也在隐藏输入字段中分配了beanVal值。即使可以将此隐藏字段中的值赋给JSTL变量,也足够了。

1 个答案:

答案 0 :(得分:2)

JS在客户端计算机上运行。 Java在服务器机器上运行。这些之间唯一的通信工具是HTTP。 Java / JSP可以生成/生成HTML页面并将其作为HTTP响应从服务器发送到客户端,因此它可以通过简单地在JSP模板中按原样生成它们来轻松地(预先)设置Javascript变量。但反过来真的需要从客户端到服务器的HTTP请求。您可以通过单击链接或提交表单来同步调用HTTP请求,无论是手动还是在link.click()form.submit()之类的Javascript帮助下。您还可以在Ajaxical权限的帮助下异步调用HTTP请求。

长话短说:让JS将其设置为(隐藏)输入值/请求参数,并通过提交带有(隐藏)输入值的表单或通过调用带有请求参数的链接将其发送到服务器端,或者通过使用查询字符串触发ajax请求。

要了解有关Java / JSP和Javascript之间隔离墙的更多信息,您可能会发现本文也很有用:Java/JSP/JSF and JavaScript

希望这可以清除很多东西并为你开启一个新的世界。