最近在做项目的时候,有个需求是将新增的信息添加到之前信息展示的地方。通俗的讲就是之前页面只展示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 >标签分别讨论下即可。
注:这是作为一个菜鸟的自己总结,如有不对的地方请批评指正!