您的位置:首页 > 其它

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

2014-09-05 16:18 741 查看
最近在做项目的时候,有个需求是将新增的信息添加到之前信息展示的地方。通俗的讲就是之前页面只展示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 >标签分别讨论下即可。

注:这是作为一个菜鸟的自己总结,如有不对的地方请批评指正!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  list 合并
相关文章推荐