我正在使用jsp格式的eclipse 3.2 tomcat服务器5.5。我将var变量(javascript)转换为int变量(java)时遇到问题。正确的方法是什么?
在html正文中,我使用此方法抛出:
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)中:
<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
如何将此var转换为字符串?
您需要了解Java在服务器端运行,而JavaScript在客户端运行。它们在不同的上下文和层以及最可能的物理计算机(欢呼声,本地主机)中运行。就您的问题而言,java代码用于(在服务器上)生成HTML / JS,该HTML / JS通常用于在浏览器(在客户端)上与最终用户进行通信。因此,他们不会很好/直接地“看到”对方。
一旦了解了这些事实并记住了HTTP的基础知识,服务器-客户端通信便通过请求- 响应模型进行处理。因此,您可以在视图文件中“打印”数据,以将信息发送给客户端,以var passedFromJava = ${bean.data};使其最终成为响应正文。相反,当客户端触发请求(使用例如input元素提交表单)时,提交的表单的所有输入最终都作为请求参数,并且可以在Java中以形式获得String fromHtmlPage =request.getParameter("inputName");。当然,您可以从JavaScript端添加此类参数,例如<input type="hidden">元素,将它们作为数据添加到AJAX请求中,等等。但是请务必理解直接JavaScript对Java是不可见的:通信方式就是HTTP。
var passedFromJava = ${bean.data};
input
String fromHtmlPage =request.getParameter("inputName");
<input type="hidden">