jsp里数组自动变成字符串了?
定义一个字符串数组,从session里取值出来后就变成字符串了?
String lid = request.getParameter( "LID "); //接收
int i = 0;
String [] slist = new String [200]; //定义数组
slist = (String []) session.getAttribute( "shoplist "); 从session取值
slist[i]=lid;(如果从session里取值出来,那么这句就要报错。而且 <%=slist[i]%> ,会显示null)
session.setAttribute( "shoplist ",slist);
如果不取值的话,就能执行slist[i]=lid;,这怎么自动变成字符串了啊?高手请教
------解决方案--------------------不知所云。。。
试过,完全OK的嘛!
<%
String arr[] = new String[]{ "1 ", "2 ", "3 ", "4 "};
session.setAttribute( "abc ",arr);
String arr2[] = (String[]) session.getAttribute( "abc ");
out.println( " <Br> "+ arr2.length);
out.println( " <Br> "+ arr2[0]);
out.println( " <Br> "+ arr2[1]);
arr2[1] = "test ";
out.println( " <Br> "+ arr2[1]);
%>
------解决方案--------------------不是吧,我们代码都差不多呀,怎么你的就可以,我的就不可以了???
------解决方案-------------------- "slist = (String []) session.getAttribute( "shoplist "); 从session取值 "
session中没有和字段 "shoplist "对应的String数组
那么自然slist会被赋予null值嘛
------解决方案--------------------session.setAttribute( "shoplist ",arr);
==========================================
这一句你也有?
------解决方案--------------------还有,你要是想赋值给数组,就直接
String [] slist = (String []) session.getAttribute( "shoplist ");
你先定义了数组,在
slist = (String []) session.getAttribute( "shoplist ");
赋值就不对,数组的地址是个常量啊,只能一个元素一个元素的赋值吧,直接这样赋值是不正确的
------解决方案--------------------LZ写的代码好乱,这个是正确的写法
String [] slist = (String []) session.getAttribute( "shoplist ");