如何将不同信息的数据对象合并显示到同一个页面上或者滚动窗口中
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 >标签分别讨论下即可。
注:这是作为一个菜鸟的自己总结,如有不对的地方请批评指正!
所以经过思考这样处理:
情况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 >标签分别讨论下即可。
注:这是作为一个菜鸟的自己总结,如有不对的地方请批评指正!
相关文章推荐
- ideal中如何添加几个不同的项目在同一个idea页面显示(同一个窗口显示多个工程)
- 如何创建一个动态的数据窗口对象
- 建站或者网站搬家换空间的时候,企业站长最关心的一个问题是该如何选择网站空间,而这一问题对于一些擅长的站长来说非常小意思,但对于部分企业站长来说是一个比较头疼的问题。根据不完整数据显示,很多企业站长因为
- echarts实现一个页面同时显示多个不同形状的图表/动态往图表中存放数据
- Jxls导出excel的若干方式总结(十一)-- 同一个sheet中显示来自不同数据表的对象记录
- ideal中如何添加几个不同的项目在同一个idea的显示页面
- asp.net mvc jqgrid 同一个页面查询不同的表,jqgrid显示不同表的表头和数据并且分页
- JavaEE体验笔记二 -- 如何在一个显示了一堆投票(或新闻之类的)的页面中,点击其中一个就会显示其详细信息
- 添加数据之后不跳页面显示一个漂亮的提示信息(非ajax提交数据)
- 通过查询数据库中的数据匹配在页面上:(set单条数据属性是在页面上的显示与foreach的不同) 通过ID修改提取位置表信息
- 【PB】如何创建一个动态的数据窗口对象?
- 请问如何在Web页面中点击一个button之后,用jsp从数据库中读取数据显示到表格里
- 页面加载时显示一个loading的图片或者动画或者提示信息
- 【PB】如何创建一个动态的数据窗口对象?
- 如何创建一个动态的数据窗口对象
- 在页面中,我们经常看到,一个button按钮,如果属标点击,就会触发一个窗口的显示,如果二次点击并可以隐藏,那么如何通过JAVA配合html来实现这一功能呢?
- 关闭子页面刷新父页面时候,Firefox 必须发送将会导致重复之前动作的数据(例如搜索或者下订单)。 ie提示:若要再次显示该页面,web浏览器需要重新发送您以前提交的信息
- MFC MDI项目如何一个文档显示多个不同视图类(比如文字和图表,各自拥有单独的框架窗口)
- 如何用数据驱动实现通用化巡检APP(如何一个界面里添加多个点击拍照按钮并显示在不同的imageview里)