日期:2014-05-18  浏览次数:20698 次

一个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]&param1=employeeCd[1]&param2=employeeCd[2] >
等等,然后再到另一个JSP页面里面进行如上的取值,如果你的方法可行的话(就是说可以把js里面定义的变量传到另一个JSP里面的话),那么上述方法就是对你方法的改进,就应该是可行的。
  不行的话我就不懂了,因为没试过。若者你干脆用一个提交按钮把它的值传过去……
------解决方案--------------------
用一个隐藏input
------解决方案--------------------
<myjsp2.jsp?param=employeeCd>
你这里不对,这样写传过去的param值就是employeeCd这个字符串,而不是你上面的employeeCd这个变量的值,应该
onclick= "location.href( 'myjsp2.jsp?param= "+employeeCd+ " ') "
用这样的,因为这里面的employeeCd就是你上面赋值的变量
当然你可以把这个employeeCd的值放在一个隐藏INPUT里,再发送到下一页,原理是一样的