如何使用 javascript 更改 java 变量的值?
假设我已经在 java servlet 中声明了一个变量,int x=0;
所以现在我想在 servlet 上的任何按钮的 onclick 事件上将其值更改为 1,我该怎么做?
谢谢
如何使用 javascript 更改 java 变量的值?
假设我已经在 java servlet 中声明了一个变量,int x=0;
所以现在我想在 servlet 上的任何按钮的 onclick 事件上将其值更改为 1,我该怎么做?
谢谢
笔记!你不应该在你的 servlet 中保存状态,因为它可能被多个线程(多个用户)使用。这些值应该存储在Session
对象中,或者存储在某个后端——例如数据库中。
现在回到您的问题:您的浏览器 JavaScript 代码不能直接对服务器上执行的 Java 代码进行操作。但是,您可以将click
事件处理程序绑定到您的按钮,并对您的 servlet 执行 AJAX 调用以增加此值。有关如何使用 JQuery 执行此操作的示例,请参阅此答案。
JavaScript
在客户端执行,Servlets
写入在Java
服务器端执行。
两者是不同的环境。如果你想改变服务器端对象的状态JavaScript
,你应该通过AJAX
.
问题:假设我在 java servlet 中声明了一个变量,例如 int x=0; 所以现在我想在 servlet 上的任何按钮的 onclick 事件上将其值更改为 1 我该怎么做?
答: Servlet 中不应该有变量。因为Servlets are not Thread Safe.
我认为您只想更改客户端的状态,这可能存储为会话。
无法从 javascript 更改 java 变量的值。
但是通过java代码我们可以改变java脚本变量的值。
您不能使用 javascript 更改 java 变量,尽管您可以反过来做。Javascript是客户端,jsp页面中的java代码在服务器端执行
不,如果不在服务器上发送请求,您就无法做到这一点,如果您准备好发送请求,那么您可以在值中分配变量值<input>
并将其发送到请求中,或者使用Ajax
javascript 来执行此操作。
我不明白为什么每个人都说你不能这样做。
当然可以。我已经多次使用 JavaScript 中的远程 API 从 javascript 调用 java 方法。例如,如果使用 Seam,您可以这样做:http ://docs.jboss.com/seam/latest/reference/en-US/html/remoting.html
在这里,OP 必须找出他想使用哪个框架,或者哪种远程技术最适合 OP
例如,您调用一个以 int 作为参数的 java 方法,并将该值应用于变量。
您不能直接使用 javascript 更改 java 变量的值。你可以做什么首先通过放置隐藏文件或将其传递给url来获取请求参数中的javascript变量,然后使用`rwquest.getParameter(“field”)获取值。
Javascript runs on client browser so you can't get it directly.