一个jsp画面的javascript里面定义的数组可以传到下一个jsp吗?
小弟现在遇到一个问题。在做一个jsp页面检索出结果之后,得到:
checkbox 人员Code(employee) 公司code(company)
□ 0001 33333
□ 0002 33334
□ 0003 33336
。。。。。。。。
选择5个checkbox,按下“修改”按钮,要把对应的五个人员Code作为参数,传到下一页面,参数之间用逗号隔开比如 0001,0002,0003,0004,0005
得到我在“修改”按钮对应的javascript里面这样写的
var employeeCd = new array();
for(var i = 0; i < 5; i ++){
employeeCd[i] = document.form.employee[index].value + ", ";
}
<myjsp2.jsp?param=employeeCd>
在下一个画面用
String p1 = request.getParameter(param);
得到的结果为空,怎么办?
------解决方案--------------------我不知道还可以这么做,不过你既然传过去的是一个array类型的,为什么取的时候用string来取?根本就不可能啊。或者你可以这样写(前提是你的方法可用):
<myjsp2.jsp?param0=employeeCd[0]¶m1=employeeCd[1]¶m2=employeeCd[2] >
等等,然后再到另一个JSP页面里面进行如上的取值,如果你的方法可行的话(就是说可以把js里面定义的变量传到另一个JSP里面的话),那么上述方法就是对你方法的改进,就应该是可行的。
不行的话我就不懂了,因为没试过。若者你干脆用一个提交按钮把它的值传过去……
------解决方案--------------------用一个隐藏input
------解决方案-------------------- <myjsp2.jsp?param=employeeCd>
你这里不对,这样写传过去的param值就是employeeCd这个字符串,而不是你上面的employeeCd这个变量的值,应该
onclick= "location.href( 'myjsp2.jsp?param= "+employeeCd+ " ') "
用这样的,因为这里面的employeeCd就是你上面赋值的变量
当然你可以把这个employeeCd的值放在一个隐藏INPUT里,再发送到下一页,原理是一样的