【问题标题】:how to get the variable value of javascript to be pass to the string of java in jsp如何将javascript的变量值传递给jsp中的java字符串
【发布时间】:2016-11-18 03:53:29
【问题描述】:

我想从 javascript 中获取 name 的值并传递给 java 的字符串变量,然后打印出来。 我该怎么做,我在下面尝试了这段代码,但我有一个错误

Syntax error, insert ";" to complete LocalVariableDeclarationStatement

125:
126: 字符串 mname = "" %>var name = mmName;

<script type="text/javascript">
        function EditMerchantModal(mmName){
            var name = mmName;
            <%String mname = "" %>name;<%;
            System.out.println("the name of name is: "+mname);
            %>

        } 
    </script>

当我尝试这个时&lt;%String mname = %&gt;name;&lt;%; 而这个&lt;%String mname = ""+%&gt;name;&lt;%; 分号和加号给出了错误。

【问题讨论】:

  • 您能否详细说明您为什么要这样做?如果目标是在某种 if-else 构造或循环等中使用它,您可以使用JSTL。
  • 当从浏览器调用System.out.println 时,您认为会打印到哪里?
  • 稍后我将使用字符串的值对我的服务器进行一些数据操作,我只是尝试打印该值以查看我是否已经收到它。但是当我尝试运行它时出现错误。 @ScaryWombat,它将在控制台上打印。顺便说一句,我使用的是 spring mvc。
  • 感谢您的回复。

标签: javascript java jsp


【解决方案1】:

您不能简单地将值从 javascript 变量获取到您的 jsp,因为您的 javascript 值是客户端的,而您的 scriptlet 是在服务器端运行的。

所以如果你想在你的 JSP 中使用你的 javascript 变量,那么你需要提交它们。

refer to this question for more details

来到你的问题,这一行

<%String mname = %>

给你一个错误,因为它需要一个完整的语句,所以它会提示你输入一个分号。但是,如果您只是放一个分号,那么由于您的赋值运算符,它期望您为该变量赋值。

当你做这样的事情时

String mname = ""+

然后由于您的 +(字符串连接)运算符,它需要第二个值才能执行连接。

我建议您更改方法,因为 &lt;% .. %&gt; 标记内的代码在服务器上运行,而当文件在客户端计算机上时,&lt;script&gt; .. &lt;script&gt; 内的代码正在运行。所以它根本不适用于您当前的方法。

【讨论】:

  • 现在我明白为什么它不起作用了。感谢您的帮助@Raman Sahasi。我在这里使用了另一种方法来使用 DOM 操作来解决它.. :) 谢谢。
【解决方案2】:
console.log('the name is : '+name);

只需使用它来检查您是否收到了值而不是 scriptlet。请注意,该值现在将打印在浏览器控制台上。 在页面上按 F12 打开控制台并检查值。

【讨论】:

    猜你喜欢
    • 2018-05-03
    • 1970-01-01
    • 2016-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-18
    • 2014-01-07
    相关资源
    最近更新 更多