菜鸟又来问问题了!关于servlet的url传值
因为想使用两个数组变量,所以考虑使用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);
是正常的。
------解决方案--------------------request.getParameter();
------解决方案--------------------不行就转成字符串放过去,到那边在拆分回来了,或者放到一个list中试试
------解决方案--------------------(强制转换)request.getAttribute("jiechu")不行吗
------解决方案--------------------好吧,我简单说一点
其实,在Java的世界里,数组也是对象,一种特殊的对象。大家都知道Object有个toString()方法,如果其他类没有重写Object的toString()方法,比如
Java code
String[] str = new String[]{"Hello","World"};
System.out.println(str);
------解决方案--------------------
url传参传数组是不行了,
要不用post方式传参,
必须用get方式的话,只能拆分成字符串或分解成多个参数来传
例如:
url?param=arr1,arr2,arr3
或者
url?param1=arr1¶m2=arr2¶m3=arr3
------解决方案--------------------
数组是传不过去的,穿过去也是字符串。