如何将不同信息的数据对象合并显示到同一个页面上或者滚动窗口中

最近在做项目的时候,有个需求是将新增的信息添加到之前信息展示的地方。通俗的讲就是之前页面只展示list1的内容(一页展示10条数据),后来要求加上list2的内容,但是list1和list2要展示的内容还不是完全一致的(比如要展示的字段个数和类型不同),并且是要优先展示完list2的数据。

所以经过思考这样处理:

情况1:只是一个滚动窗口中展示

后台:

public String zbyg() {
ZbygParams zbygParams = new ZbygParams();
zbygParams.setZt(ConstantUtil.ZBYGZT_YCX);
zbygParams.setYx(ConstantUtil.ATYCODE_YN_Y);

int count1 = zbygOtherService.getZbygOtherListSize(zbygParams);

List<ZbygOtherInfo> zbygOtherList = null;
List<ZbygInfo> zbygList = null;

if (count1 <= ZBYG_NUM) {// count1<=ZBYG_NUM条,在"其他视频"中取全部,然后在"视频"中取ZBYG_NUM-count1条
zbygOtherList = zbygOtherService.findZbygOtherList(
zbygParams, 0, count1);
setParameter("zbygOtherList", zbygOtherList);
zbygList = zbygService.findZbygList(zbygParams, 0,
ZBYG_NUM-count1);
zbygService.addFyName(zbygList);
setParameter("zbygList", zbygList);
}else {// count1>ZBYG_NUM条,在"其他视频"中取全部
zbygOtherList = zbygOtherService.findZbygOtherList(
zbygParams, 0, ZBYG_NUM);
setParameter("zbygOtherList", zbygOtherList);
}
return "zbyg";
}

前台:

使用<c:choose><c:when >标签分别讨论下即可。

情况2:在页面上显示(有分页)

后台:

/**
     * 分页查询直播预告+其他直播 列表
     * @return
     */
    public String zbygList() {
        int pageNo = getPageNo();
        int start = getStartRecord(pageNo, ZBYG_PERPAGE);
        ZbygParams zbygParams = new ZbygParams();
        zbygParams.setYx(ConstantUtil.ATYCODE_YN_Y);//查询有效的预告
        zbygParams.setZt(ConstantUtil.ZBYGZT_YCX);//查询没撤销的预告
        List<ZbygOtherInfo> zbygOtherList = null;
        List<ZbygInfo> zbygList = null;
        //获取法院名称
        zbygService.addFyName(zbygList);
        
       int totalCount1 = zbygService.getZbygListSize(zbygParams);//直播预告的总数量
        int totalCount2 = zbygOtherService.getZbygOtherListSize(zbygParams);//其他直播总数量
        
        if(start<totalCount2){
        zbygOtherList = zbygOtherService.findZbygOtherList(zbygParams, start,
        ZBYG_PERPAGE);
        setParameter("zbygOtherList", zbygOtherList);
        int lessCount = ZBYG_PERPAGE - zbygOtherList.size();
        if(lessCount>0){
        zbygList = zbygService.findZbygList(zbygParams, 0,
        lessCount);
        setParameter("zbygList", zbygList);
        }
        }else if(start==totalCount2){
        zbygOtherList = zbygOtherService.findZbygOtherList(zbygParams, start,
        ZBYG_PERPAGE);
        setParameter("zbygOtherList", zbygOtherList);
        if(totalCount2==0){
        zbygList = zbygService.findZbygList(zbygParams, 0,
        ZBYG_PERPAGE);
        setParameter("zbygList", zbygList);
        }else{
        zbygList = zbygService.findZbygList(zbygParams, 0,
        ZBYG_PERPAGE-1);
        setParameter("zbygList", zbygList);
        }
        }else if(start>totalCount2){
        int zbygStart = start - totalCount2;
        zbygList = zbygService.findZbygList(zbygParams, zbygStart,
    ZBYG_PERPAGE);
    setParameter("zbygList", zbygList);
        }
        
        setParameter("perPage", ZBYG_PERPAGE);
        setParameter("totalCount", totalCount1+totalCount2);
        return "zbygList";
    }

前台:

使用<c:choose><c:when >标签分别讨论下即可。

注:这是作为一个菜鸟的自己总结,如有不对的地方请批评指正!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值