如何将javascript的变量值传递给jsp中的java字符串

时间:2016-07-15 03:54:09

标签: javascript java jsp

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

Syntax error, insert ";" to complete LocalVariableDeclarationStatement

125:
126:String mname ="" %> var name = mmName;<%; 127:

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

        } 
    </script>

当我试试<%String mname = %>name;<%;时 这个分号和加号<%String mname = ""+%>name;<%;给出了错误。

2 个答案:

答案 0 :(得分:3)

你不能简单地将javascript变量中的值带到你的jsp,因为你的javascript值是客户端的,你的scriptlet在服务器端运行。

因此,如果您想在JSP中使用javascript变量,那么您需要提交它们。

refer to this question for more details

来到你的问题,这一行

<%String mname = %>

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

当你做这样的事情时

String mname = ""+

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

我建议您更改方法,因为<% .. %>标记内的代码在服务器上运行,当<script> .. <script>内的代码在客户端的计算机上运行时,代码正在运行。因此,它只是不能使用您当前的方法。

答案 1 :(得分:1)

console.log('the name is : '+name);

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