struts2的s:iterator标签小计

对s:iterator一直都是简单的使用,今天遇到一个比较复杂的逻辑,要对s:iterator进行嵌套使用,第二层迭代是使用第一层迭代出来的数据。

后台传过来List<Map<String,Object>> list对象,map中还包含List对象,

后台传的参数

List<Map<String, Object>> prizesList=new ArrayList<Map<String,Object>>();
Map<String, String> prizesMap=userService.queryActivity(prizeId,typeI);
                prizesMap.put("hasActivity", totalDetail.get(1).get("numTotal").toString());
                prizesMap.put("nuHasActivity", totalDetail.get(0).get("numTotal").toString());
                prizesMap.put("hasReceived", totalDetail.get(2).get("numTotal").toString());
                Map<String, Object> prizes=new HashMap<String, Object>(prizesMap);
                prizes.put("hasActivity", totalDetail.get(1).get("numTotal").toString());
                prizes.put("nuHasActivity", totalDetail.get(0).get("numTotal").toString());
                prizes.put("hasReceived", totalDetail.get(2).get("numTotal").toString());
                List<Map<String,Object>> datas = userService.queryPrizes(prizeId,typeI);
                prizes.put("list", datas);
                prizesList.add(prizes);
后台传参

在前台使用

<s:IF test="#request.prizesList.size>0 && #request.prizesList!=null">
            <s:iterator VALUE="#request.prizesList" var="bean">
                <DIV class="ht_p">
            <DIV style="margin: 20px 0 10px 0;">
            <span style="font-size: 16px;">${bean.prizesName}</span> &nbsp;&nbsp;&nbsp;&nbsp;
            <span><a href="supplementVouchers.do?id=${bean.id}&taskId=${activityMap.id}">${bean.prizesName}</a></span>
            &nbsp;&nbsp;&nbsp;&nbsp;
            <span><a href="countLottery.do?taskId=${activityMap.id}&type=${bean.prizesType}" >统计</a></span>
            </DIV>
            <p><span>剩余数量:${bean.restNum}</span><span>发行总数量:${bean.totalNum}</span><p><span>已领取数量:${bean.hasActivity}</span><span>已使用数量:${bean.hasReceived} </span><span>未领取数量:${bean.nuHasActivity} </span></p>
            <p><a href="queryActiveDetailInfo.do?id=${bean.id}&type=${bean.prizesType}" target="_blank">查看详情</a>&nbsp;&nbsp;
            <a href="activeVouchersDetail.do?partenId=${bean.id}&type=0" target="_blank">发行${bean.prizesName }</a>
            </p>
            <DIV style="padding-left: 50px;">
            <s:iterator VALUE="top.list" id="inner" var="ubean">
                <DIV style="border-top: 1px dashed #ccc;"> 
                    <DIV style="margin: 10px 0 10px 0;font-size: 16px;">${ubean.mark}</DIV>
                    <p><span>剩余数量:${ubean.prizesRest}</span><span>发放数量:${ubean.prizesUse} </span><span>使用数量:${ubean.useNumber} </span></p>
                    <p><a href="activeVouchersDetail.do?id=${ubean.id}&type=2" target="_blank">查看详情</a>&nbsp;&nbsp;
                        <a href="activeVouchersDetail.do?partenId=${bean.id}&id=${ubean.id}&type=1" target="_blank">补 充</a>
                    </p>
                    </DIV>
            </s:iterator>
            </DIV>
        </DIV>
            </s:iterator>
前台s:iterator双层迭代

s:iterator内层的value可以使用top来获取上层迭代的数据

转载于:https://www.cnblogs.com/muxiaozi/p/5046138.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值