arraylist1
arraylist2
String[]str1
arraylist3
String[]str2
/arraylist3
...重复arraylist3...
/arraylist2
...重复arraylist2...
/arraylist1
请问该如何在jsp页面中遍历出所有的数据放到相应的显示位置!!!!!!!!!求助
注:这个arraylist是从后台返回来的,在页面中可用如下语句获得:
<c:set var="list" value="${requestScope.listhotel}" scope="page"/>
9 个解决方案
#1
怎么不用xml来传数据...
用for循环嵌套可以做吧
用for循环嵌套可以做吧
#2
for(Iterator iter1 = list1.iterator();iter1.hasNext()){
for(Iterator iter2 = iter1.next().iterator();iter2.hasNext();){
for(...
}
}
for(Iterator iter2 = iter1.next().iterator();iter2.hasNext();){
for(...
}
}
#3
public void listArray(ArrayList list){
for(Object o : list) {
if(o instanceof String[]) {
String[] strs = (String[])o;
for(String str : strs) {
System.out.println(str);
}
}else if(o instanceof ArrayList) {
listArray((ArrayList)o);
}else {
System.out.println("Not SUPPORT TYPE!!!");
continue;
}
}
}
#4
既然楼主已经在使用jstl了,建议就用jstl的<c:forEach>标签实现就可以了,这么简单:)
很不赞同楼上两位的说法,现在都是mvc编程,怎么还在使用jsp module1的开发模式呢?
很不赞同楼上两位的说法,现在都是mvc编程,怎么还在使用jsp module1的开发模式呢?
#5
<c:forEach> ? 你知道嵌套多少层吗?
#6
你建个类,写上一个递归方法,在页面<c:set>一下,就可以用了吗
#7
首先你这样输出,设计上就是问题, sunvsmicsoft 说的MVC是错误的,jsp module1 开发模式 只要你能够将逻辑代码放在bean中处理。
jsp来显示一样的是MVC而且是不错的MVC,
使用Kit_LO 的方法是正确的。
jsp来显示一样的是MVC而且是不错的MVC,
使用Kit_LO 的方法是正确的。
#8
哎 我是用脚本解决的!
不知道谁有更好的方法!
解决代码如下(供各位朋友改进用):
<%!
ArrayList listhotel;
ArrayList listmessage;
ArrayList listroom;
%>
<%
listhotel = (ArrayList)request.getAttribute("listhotel");//获取ArrayList
for(int i=0;i<listhotel.size();i++){
listmessage = (ArrayList)listhotel.get(i);//得到单个酒店ArrayList
String[] arrayhotel = (String[])listmessage.get(0);
String str = arrayhotel[0];
String image = str.substring(2);
String img ="http://www.sohoto.com/TDPWeb/htl/images/imagesHotel/"+image+"/WJ/"+image+"WJ01.jpg";
%>
do something....
<%
listroom = (ArrayList)listmessage.get(1);//得到酒店房型arraylist
for(int j=0;j<listroom.size();j++){
String[] arrayroom = (String[])listroom.get(0);
%>
do something....
<%
}listmessage.clear();//移除所有
%>
不知道谁有更好的方法!
解决代码如下(供各位朋友改进用):
<%!
ArrayList listhotel;
ArrayList listmessage;
ArrayList listroom;
%>
<%
listhotel = (ArrayList)request.getAttribute("listhotel");//获取ArrayList
for(int i=0;i<listhotel.size();i++){
listmessage = (ArrayList)listhotel.get(i);//得到单个酒店ArrayList
String[] arrayhotel = (String[])listmessage.get(0);
String str = arrayhotel[0];
String image = str.substring(2);
String img ="http://www.sohoto.com/TDPWeb/htl/images/imagesHotel/"+image+"/WJ/"+image+"WJ01.jpg";
%>
do something....
<%
listroom = (ArrayList)listmessage.get(1);//得到酒店房型arraylist
for(int j=0;j<listroom.size();j++){
String[] arrayroom = (String[])listroom.get(0);
%>
do something....
<%
}listmessage.clear();//移除所有
%>
#9
对了 忘记告诉大家 这个问题的来源
是我最近做一个电子商务网站中用到航信接口中的酒店接口
在struts框架的action中,请求后从航信接口中返回的XML文件中的数据层次就是我开始所提到的层次结构
因而就有了如上所说的问题!暂不结帖 等待更好的解决办法!!!
是我最近做一个电子商务网站中用到航信接口中的酒店接口
在struts框架的action中,请求后从航信接口中返回的XML文件中的数据层次就是我开始所提到的层次结构
因而就有了如上所说的问题!暂不结帖 等待更好的解决办法!!!
#1
怎么不用xml来传数据...
用for循环嵌套可以做吧
用for循环嵌套可以做吧
#2
for(Iterator iter1 = list1.iterator();iter1.hasNext()){
for(Iterator iter2 = iter1.next().iterator();iter2.hasNext();){
for(...
}
}
for(Iterator iter2 = iter1.next().iterator();iter2.hasNext();){
for(...
}
}
#3
public void listArray(ArrayList list){
for(Object o : list) {
if(o instanceof String[]) {
String[] strs = (String[])o;
for(String str : strs) {
System.out.println(str);
}
}else if(o instanceof ArrayList) {
listArray((ArrayList)o);
}else {
System.out.println("Not SUPPORT TYPE!!!");
continue;
}
}
}
#4
既然楼主已经在使用jstl了,建议就用jstl的<c:forEach>标签实现就可以了,这么简单:)
很不赞同楼上两位的说法,现在都是mvc编程,怎么还在使用jsp module1的开发模式呢?
很不赞同楼上两位的说法,现在都是mvc编程,怎么还在使用jsp module1的开发模式呢?
#5
<c:forEach> ? 你知道嵌套多少层吗?
#6
你建个类,写上一个递归方法,在页面<c:set>一下,就可以用了吗
#7
首先你这样输出,设计上就是问题, sunvsmicsoft 说的MVC是错误的,jsp module1 开发模式 只要你能够将逻辑代码放在bean中处理。
jsp来显示一样的是MVC而且是不错的MVC,
使用Kit_LO 的方法是正确的。
jsp来显示一样的是MVC而且是不错的MVC,
使用Kit_LO 的方法是正确的。
#8
哎 我是用脚本解决的!
不知道谁有更好的方法!
解决代码如下(供各位朋友改进用):
<%!
ArrayList listhotel;
ArrayList listmessage;
ArrayList listroom;
%>
<%
listhotel = (ArrayList)request.getAttribute("listhotel");//获取ArrayList
for(int i=0;i<listhotel.size();i++){
listmessage = (ArrayList)listhotel.get(i);//得到单个酒店ArrayList
String[] arrayhotel = (String[])listmessage.get(0);
String str = arrayhotel[0];
String image = str.substring(2);
String img ="http://www.sohoto.com/TDPWeb/htl/images/imagesHotel/"+image+"/WJ/"+image+"WJ01.jpg";
%>
do something....
<%
listroom = (ArrayList)listmessage.get(1);//得到酒店房型arraylist
for(int j=0;j<listroom.size();j++){
String[] arrayroom = (String[])listroom.get(0);
%>
do something....
<%
}listmessage.clear();//移除所有
%>
不知道谁有更好的方法!
解决代码如下(供各位朋友改进用):
<%!
ArrayList listhotel;
ArrayList listmessage;
ArrayList listroom;
%>
<%
listhotel = (ArrayList)request.getAttribute("listhotel");//获取ArrayList
for(int i=0;i<listhotel.size();i++){
listmessage = (ArrayList)listhotel.get(i);//得到单个酒店ArrayList
String[] arrayhotel = (String[])listmessage.get(0);
String str = arrayhotel[0];
String image = str.substring(2);
String img ="http://www.sohoto.com/TDPWeb/htl/images/imagesHotel/"+image+"/WJ/"+image+"WJ01.jpg";
%>
do something....
<%
listroom = (ArrayList)listmessage.get(1);//得到酒店房型arraylist
for(int j=0;j<listroom.size();j++){
String[] arrayroom = (String[])listroom.get(0);
%>
do something....
<%
}listmessage.clear();//移除所有
%>
#9
对了 忘记告诉大家 这个问题的来源
是我最近做一个电子商务网站中用到航信接口中的酒店接口
在struts框架的action中,请求后从航信接口中返回的XML文件中的数据层次就是我开始所提到的层次结构
因而就有了如上所说的问题!暂不结帖 等待更好的解决办法!!!
是我最近做一个电子商务网站中用到航信接口中的酒店接口
在struts框架的action中,请求后从航信接口中返回的XML文件中的数据层次就是我开始所提到的层次结构
因而就有了如上所说的问题!暂不结帖 等待更好的解决办法!!!