将var javascript转换为java变量

时间:2013-11-29 18:20:10

标签: java javascript eclipse jsp tomcat

我使用的是jsp格式的eclipse 3.2 tomcat server 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>
            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转换为字符串?

1 个答案:

答案 0 :(得分:3)

您需要了解Java是在服务器端运行,而JavaScript是在客户端运行。它们运行在不同的上下文和层,最常见的是物理机器(欢呼声,本地主机)。在您的问题的上下文中,java代码用于生成HTML / JS(在服务器上),用于通常在浏览器(在客户端)内与最终用户进行通信。因此,他们不会很好/直接地“看到”彼此。

只要您了解这些事实并记住HTTP的基础知识,就可以通过请求 - 响应模型来处理服务器 - 客户端通信。在这种情况下,您可以在视图文件中“打印”数据以向客户端发送信息,如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?