如何在jsp页面中传递数组
- -----------------------------------------------------------------------------------------
我第一个页面是多选的select,选 中之后,进入第二个页面进行分类,
因为第一个页面的条件是进行查询和筛选的条件,所以要在每个页面保存,
问题是如何将这个数组传到各个页面去?
---------------------------------------------------------------
我觉得这是挺简单的
如果使用隐含字段,数组中有多少个元素就需要建立多少个,名字要一样
如果使用parameter,同样,使用多个parameter,每一个的名字都一样,下一页取数据还是使用getParameterValues方法
---------------------------------------------------------------
1。用session
String[] aSelName = request.getParameterValues("selName") ;
request.getSession().getAttribute("aName",aSelName) ;//将数组保存在session中
String[] aName=(String[])request.getSession().getAttribute("aName"); //从session中取出,在各个页面中。
2.在每个页面用hidden元素保存字符串,传到每个页面。
String[] aSelName = request.getParameterValues("selName") ;
String sName = "" ;
if (aSelName!=null){
for (int i=0;i<aSelName.length;i++){
sName +=aSelName[i]+"," ;
}
sName = sName.substring(0,sName.length()-1) ;
}
<input type="text" name="tName" value="<%=sName%>"
然后将字符串tName传过去,对此进行分隔。
String sName= request.getParameter("tName") ;
java.util.StringTokenizer st=new java.util.StringTokenizer(sName,",");
java.util.Vector() v = java.util.Vetor() ;
while(st.hasMoreTokens())
v.add(st.nextToken()) ;
String[] aName= new String[v.size()] ;
v.copyInto(aName) ;
---------------------------------------------------------------
你也可以把数组转换成以某个字符分隔的字符串,提交到下一页后再把它转换成数组。