在JavaScript中将JavaScript变量分配给Java变量

埃洛在那里,

我正在尝试将javascript变量的值赋给java变量。 但我不知道怎么做? 比方说,我有这个:

   function return variable(){ var a = "hello"; return a; }       

Java脚本在浏览器上播放,其中java代码是服务器端的东西,所以你不能简单地这样做。

您可以做的是通过表单提交,使用URL参数或使用AJAX调用将计算的变量从javascript提交到服务器,然后您可以在服务器上使用它

HTML

  

确保此字段位于

使用Javascript

 document.getElementById("hiddenField").value=yourCalculatedVariable; 

在服务器上,您可以将此作为request的一部分

您需要阅读有关JSP生命周期的内容。 试试这个: http : //en.wikipedia.org/wiki/File : JSPLife.png

JavaScript在客户端上运行,但是为了更改jsp,您需要访问服务器。 这可以通过Ajax(http://en.wikipedia.org/wiki/Ajax_%28programming%29)完成。

以下是一些与Ajax相关的链接: http : //www.openjs.com/articles/ajax_xmlhttp_using_post.php

http://www.w3schools.com/ajax/tryit.asp?filename=tryajax_first

答案是你不能。 Java(在您的情况下是JSP)是一种服务器端脚本语言,这意味着它在所有javascript代码之前编译和执行。 您可以将javascript变量分配给JSP变量,但不能相反。 如果可能,您可以让变量出现在QueryString中,或者通过表单(通过隐藏字段)传递它,发布它并通过JSP以这种方式提取变量。 但这需要重新提交页面。

希望这可以帮助。

JavaScript在客户端触发,JSP在服务器端触发。 所以我可以说这是不可能的。

我认为没有办法做到这一点,除非你传递了URL上的JavaScript var的值,但这是一个丑陋的解决方法。

你不能这样做..因为jsp被编译并转换为html服务器端而javascript在客户端执行。 您可以将值设置为隐藏的html元素,并在请求中发送到servlet,以防您想要进一步使用

因为JavaScript是客户端而JSP是服务器端。

所以Javascript直到它到达浏览器才会执行,但Java在服务器上执行。 因此,Java不知道JavaScript变量的价值。

但是,您将Java变量的值赋给JavaScript变量。