选择list遍历

xuluo77421 2010-01-29 06:17:23
问题是这样的:
现在我从后台传了3个list:list1,list2,list3,还有number,值可能为1,2,3
现在我要根据number的值来确定遍历哪个list,这个条件该怎么写?
...全文
2352 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuluo77421 2010-02-01
  • 打赏
  • 举报
回复
谢谢各位回答,问题已经解决了·
psummer 2010-02-01
  • 打赏
  • 举报
回复
用MAP
zhj92lxs 2010-01-30
  • 打赏
  • 举报
回复
这种根本不需要考虑,前面只是专注一些现实,具体的判断你应该在后台搞定,没有用的数据为什么还要传呢
xuluo77421 2010-01-30
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 sotom 的回复:]
判断语句这样写,标签加EL表达式实现。

Java code<s:if test="${number eq 1}"></s:if>

这样 或者

Java code<s:chose><s:when test="${number eq 1}"></s:when><s:otherwise></s:otherwise></s:chose>


直接手写的,可能单词有拼写错误,但语法没错。

[/Quote]

请问这个和2楼的有啥区别,我不太明白
xuluo77421 2010-01-30
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 bayougeng 的回复:]
你不能在后台搞这个事情么?
[/Quote]
恩,这个确实可以在后台实现,只是我一开始以为用ognl可以很方便的在前台实现,所以没有考虑,
哪知道试了半天也没实现,所以就想弄明白了,ognl能不能实现这个?
xuluo77421 2010-01-30
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 lrbyantai 的回复:]
引用 5 楼 xuluo77421 的回复:
搞错了 ,2楼的那样写是可以的,但是这样的话 <s:iterator> </s:iterator>里面的代码我要重复写3遍··这个很冗余啊·


因为list中的数据是不一样的,当然要分别写了,要不就推动了if...else的作用了
[/Quote]
因为我是用<s:iterator>同时遍历3个非嵌套的list,之所以传number是因为我3个list的size可能不一样,我不知道哪个size最大,所以在后台用number表示了最大的那一个。
我主要是想实现这个效果,<s:iterator value="#request.list1" id="fellow" status="stu">,就是把list1中的1用变量number来代替,但是用ognl不知道怎么实现
li445970924 2010-01-30
  • 打赏
  • 举报
回复
#[index]试过没...
ssssss 2010-01-30
  • 打赏
  • 举报
回复
后台判断了
listMax装最大的,listMix装最小的。。
前台想输出哪个都可以啊,还不行么
crazylaa 2010-01-30
  • 打赏
  • 举报
回复
只要显示一个,那就只传一个,用list不就好了?不要的传到页面干吗呢?
nagasala 2010-01-30
  • 打赏
  • 举报
回复
你把从后台传过来的3个list再封装成一个数组 下标对应1,2,3


<s:iterator var="item" value="list[num]"></s:iterator>

xuluo77421 2010-01-30
  • 打赏
  • 举报
回复
还有为什么我的<s:if test=""></s:if>里面使用EL表达式会报错·
新枯木逢春 2010-01-29
  • 打赏
  • 举报
回复
d
sotom 2010-01-29
  • 打赏
  • 举报
回复
判断语句这样写,标签加EL表达式实现。

<s:if test="${number eq 1}">
</s:if>


这样 或者

<s:chose>
<s:when test="${number eq 1}">
</s:when>
<s:otherwise>

</s:otherwise>

</s:chose>



直接手写的,可能单词有拼写错误,但语法没错。
bayougeng 2010-01-29
  • 打赏
  • 举报
回复
你不能在后台搞这个事情么?
蛋黄车 2010-01-29
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xuluo77421 的回复:]
搞错了 ,2楼的那样写是可以的,但是这样的话 <s:iterator> </s:iterator>里面的代码我要重复写3遍··这个很冗余啊·
[/Quote]

因为list中的数据是不一样的,当然要分别写了,要不就推动了if...else的作用了
xuluo77421 2010-01-29
  • 打赏
  • 举报
回复
搞错了 ,2楼的那样写是可以的,但是这样的话<s:iterator></s:iterator>里面的代码我要重复写3遍··这个很冗余啊·
xuluo77421 2010-01-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lrbyantai 的回复:]
Java codeif(number==1){//遍历list1%><s:iterator>......</s:iterator><%
}elseif(number==2){//遍历list2<s:iterator>......</s:iterator>
}elseif(number==3){//遍历list3<s:iterator>......</s:iterator>
}
[/Quote]
请问能不能用ognl实现呢?
xuluo77421 2010-01-29
  • 打赏
  • 举报
回复
<s:if>不行,我试过了,报错···
蛋黄车 2010-01-29
  • 打赏
  • 举报
回复

if(number==1){
//遍历list1
%>
<s:iterator>......</s:iterator>
<%
}
else if(number==2){
//遍历list2
<s:iterator>......</s:iterator>
}
else if(number==3){
//遍历list3
<s:iterator>......</s:iterator>
}

PENYY 2010-01-29
  • 打赏
  • 举报
回复
用判读语句呀!

<s:if test="number==1">
.....<s:iterator var="item" value="list"></s:iterator>
</s:if>
<s:else>
.....
</s:else>
.......
.......

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧