我想从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;<%;
给出了错误。
答案 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打开控制台并检查值。