在jsp页面javascript的function中的值如何传入本页面java代码中作为sql的查询条件
有多种方式。1.function函数返回该值,2.外部定义一个全局变量,将需要的值赋值给该全局变量。3.在函数中写到页面某个隐藏域中。 采用任意一种方式之后,通过get或者post请求将该参数传递到后台即可。
这不能实现的吧。 既然要查询为什么不知道直接提交数据到后台的action里面获取参数去执行呢?
如果需要在页面的java 代码中获取js值,也是可以的。java代码本身就能够调用js函数。详见http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=20731447&id=1883655
一般的做法可能是,把JavaScript函数的结果放到表单(<form>元素)中的一个表单元素(如:<input type="text" ...>、<input type="hidden" ...>、<input type="checkbox" ...>、<input type="radio" ...>等)的value属性中,然后提交这个表单到当前JSP页面对应的Action类的URL上。
也可以通过AJAX(如调用jQuery.ajax()方法)或者直接访问URL(把函数结果作为URL的查询字符串传递)的方式来达到同样的效果。
如果你是在页面点击什么按钮,然后调用一个js的function,这时想让传入java中去取值,那是不可能的。显示页面时,java代码已执行完,java代码是后台代码。
最常用的是通过ajax传值,以jQuery ajax为例
$.ajax({
type:'post',
url:url,
data:{
id:$("#id").val()
},
dataType:'json',
error:function(){
alert('error');
},
success:function(data){
alert('success');
}
});
var param=$("id").val();
$.post(url,param,function(){
});
function search(){
window.location='xxxxx.jsp?kw='+document.getElementById('text').value
}
2种方式:
一般js请求后台都是用ajax。
方式一:
在ajax的url后面跟参数,如url:'/myservlet?name=111&age=12',
方式二:
在ajax的data属性中配置参数,如data{name:1111,age:12},
你自己搜下例子,然后照着写就行了。