我正在使用 jsp 格式的 eclipse 3.2 tomcat 服务器 5.5。我在将 var 变量 (javascript) 转换为 int 变量 (java) 时遇到问题。这样做的正确方法是什么?
在 html body 中,我使用这个方法来抛出:
String qwerty = Integer.toString(f);
String asdf = Integer.toString(d);
System.out.println("CONVERTED VALUE : "+qwerty+" "+asdf);
%>
<input type="hidden" id="balance" name="balance" value="<%=qwerty%>" />
<input type="hidden" id="loop" name="loop" value="<%=asdf%>" />
<%
System.out.println("VALUES : "+balance+" "+loop);
在 html head(脚本)中:
<script>
function myfunction()
{
var looping = document.getElementById("loop").value;
var balancing = document.getElementById("balance").value;
<%
String loop="<%=document.writeln(looping)%>";
String balance="<%=document.writeln(balancing)%>";
int balance = Integer.parseInt(balancing);
int loop = Integer.parseInt(looping);
%>
..........................cont
如何将这个变量转换成字符串?
最佳答案
您需要了解 Java 运行在服务器端,而 JavaScript 运行在客户端。它们运行在不同的上下文和层次中,很可能是物理机器(干杯,本地主机)。在您的问题的上下文中,Java 代码用于生成 HTML/JS(在服务器上),用于与通常在浏览器(在客户端上)内的最终用户进行通信。所以他们不会很好地/直接地“看到”对方。
一旦您了解了这些事实并记住了 HTTP 的基础知识,服务器-客户端通信就通过请求-响应模型进行处理。在这种情况下,您可以在 View 文件中“打印”数据以将信息发送给客户端,如 var passedFromJava = ${bean.data};
中所示。以便它最终出现在响应主体中。相反,当客户端触发请求(提交带有例如 input
元素的表单)时,提交表单的所有输入最终都作为请求参数,并且可以在 Java 中作为 String fromHtmlPage = request.getParameter("inputName");
获得。 .您当然可以从 JavaScript 端添加此类参数,例如 <input type="hidden">
元素,将它们作为数据添加到 AJAX 请求等。但是请理解,直接的 JavaScript 对 Java 是不可见的:通信方式是 HTTP。
顺便说一下,现在不欢迎使用 scriptlet ( %
)。更多资料查阅经典:How to avoid Java code in JSP files? .
关于java - 将 var javascript 转换为 java 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20291492/