1

如何使用 javascript 更改 java 变量的值?

假设我已经在 java servlet 中声明了一个变量,int x=0; 所以现在我想在 servlet 上的任何按钮的 onclick 事件上将其值更改为 1,我该怎么做?

谢谢

4

7 回答 7

2

笔记!你不应该在你的 servlet 中保存状态,因为它可能被多个线程(多个用户)使用。这些值应该存储在Session对象中,或者存储在某个后端——例如数据库中。

现在回到您的问题:您的浏览器 JavaScript 代码不能直接对服务器上执行的 Java 代码进行操作。但是,您可以将click事件处理程序绑定到您的按钮,并对您的 servlet 执行 AJAX 调用以增加此值。有关如何使用 JQuery 执行此操作的示例,请参阅此答案。

于 2012-06-22T09:13:52.353 回答
1

JavaScript在客户端执行,Servlets写入在Java服务器端执行。

两者是不同的环境。如果你想改变服务器端对象的状态JavaScript,你应该通过AJAX.

问题:假设我在 java servlet 中声明了一个变量,例如 int x=0; 所以现在我想在 servlet 上的任何按钮的 onclick 事件上将其值更改为 1 我该怎么做?

答: Servlet 中不应该有变量。因为Servlets are not Thread Safe.我认为您只想更改客户端的状态,这可能存储为会话。

于 2012-06-22T09:37:41.650 回答
1

无法从 javascript 更改 java 变量的值。

但是通过java代码我们可以改变java脚本变量的值。

于 2012-06-22T09:15:10.983 回答
1

您不能使用 javascript 更改 java 变量,尽管您可以反过来做。Javascript是客户端,jsp页面中的java代码在服务器端执行

于 2012-06-22T09:09:37.807 回答
1

不,如果不在服务器上发送请求,您就无法做到这一点,如果您准备好发送请求,那么您可以在值中分配变量值<input>并将其发送到请求中,或者使用Ajaxjavascript 来执行此操作。

于 2012-06-22T09:16:16.567 回答
0

我不明白为什么每个人都说你不能这样做。

当然可以。我已经多次使用 JavaScript 中的远程 API 从 javascript 调用 java 方法。例如,如果使用 Seam,您可以这样做:http ://docs.jboss.com/seam/latest/reference/en-US/html/remoting.html

在这里,OP 必须找出他想使用哪个框架,或者哪种远程技术最适合 OP

例如,您调用一个以 int 作为参数的 java 方法,并将该值应用于变量。

于 2012-06-22T09:36:48.610 回答
0

您不能直接使用 javascript 更改 java 变量的值。你可以做什么首先通过放置隐藏文件或将其传递给url来获取请求参数中的javascript变量,然后使用`rwquest.getParameter(“field”)获取值。

Javascript runs on client browser so you can't get it directly.

于 2012-06-22T09:17:22.830 回答