因为想使用两个数组变量,所以考虑使用url传值,结果,我使用servlet的url传值,连一个数组都传不过去,请高手随手指导下,资料也查了不少了,还是不行!方法一:
servlet代码:
request.getRequestDispatcher("/mokuai/logo/xiangmu/tuji/tujijiechu.jsp?jiechu="+s).forward(request,response);
jsp页面:
String s[]=(String[])request.getAttribute("jiechu"); 方法二:(网上查到的)
servlet代码:
response.sendRedirect("/mokuai/logo/xiangmu/tuji/tujijiechu.jsp?jiechu="+s);
jsp页面:
String s[]=(String[])request.getAttribute(“jiechu”);两个方法都报的是空指针异常。
我用的方法是,request.setAttribute("jiechu",s );
request.getRequestDispatcher("/mokuai/logo/xiangmu/tuji/tujijiechu.jsp").forward(request,response);是正常的。
servlet代码:
request.getRequestDispatcher("/mokuai/logo/xiangmu/tuji/tujijiechu.jsp?jiechu="+s).forward(request,response);
jsp页面:
String s[]=(String[])request.getAttribute("jiechu"); 方法二:(网上查到的)
servlet代码:
response.sendRedirect("/mokuai/logo/xiangmu/tuji/tujijiechu.jsp?jiechu="+s);
jsp页面:
String s[]=(String[])request.getAttribute(“jiechu”);两个方法都报的是空指针异常。
我用的方法是,request.setAttribute("jiechu",s );
request.getRequestDispatcher("/mokuai/logo/xiangmu/tuji/tujijiechu.jsp").forward(request,response);是正常的。
改为
request.setAttribute("jiechu",s);
request.getRequestDispatcher("/mokuai/logo/xiangmu/tuji/tujijiechu.jsp).forward(request,response);
jsp:
String s[]=(String[])request.getAttribute(“jiechu”);
System.out.println(str);就会调用从Object继承的toString()方法,打印出来的就是类似于[Ljava.lang.String;@5ffb18这样的字符串,其实就是默认调用其toString()方法
所以,"/mokuai/logo/xiangmu/tuji/tujijiechu.jsp?jiechu="+s这种方式得到的是什么,就一目了然了建议:将数组拼接成字符串或者多个参数,再在后台拆分组合吧
要不用post方式传参,
必须用get方式的话,只能拆分成字符串或分解成多个参数来传例如:url?param=arr1,arr2,arr3
或者
url?param1=arr1¶m2=arr2¶m3=arr3