在jsp中经常会遇到把js变量赋给java变量,或者将java变量赋给js变量的情况,在此将通用的处理方法小结如下:
1、java变量传给js写法如下:
var a="<%=javaParam%>"
注意这里要将引号""加上;
2、js变量给java稍微复杂点,一般是在表单中用一个
的隐藏表单元素,然后在脚本中将js变量值赋给它:
var jsParamValue='aaaa'
form1.jsParam.value=jsParamValue
然后就可以request.getPrameter("jsPrama")
来取得js变量值了。
首先你要知道jsp里面的java代码和js他们在jsp的执行顺序,在web容器里面会先把aa.jsp翻译成aaxxxservlet.java 而js会通过out.println("<script>js</script>") 放入servlet里面去了。所以就变成class servlet{
service(){
String aa=null
out.println("<script>var bb='1111111111'</script>")
}
}
所以你是获取不到bb的值的除非你再发一次请求
<script>location.href="url?bb='11111111111'"</script>
<% String bb=request.getparamet("bb")
String aa=bb
%>
将JavaScript的值作为参数传给java方法的方法分两种:1、将JavaScript里面的值赋值到form表单里,然后通过表单提交的方式将数据提交到后台,交给java方法处理。参考代码:
var a = "someValue"
$("#someId").val(a)
2、直接在JavaScript里面,通过ajax来提交请求,与后台做异步请求,实现值的传递,参考代码:
$.ajax({
method:"post",
url:"xxx",
data:{somevalues},
success:function(data){
//do something with data.
}
})