`

bbossgroups标签库使用大全(续三)-新增功能特性详解

阅读更多
bbossgroups标签库使用大全(续三)-bboss最近新增三个功能特性,本文详细介绍之。
1.部分逻辑标签(equal,notequal,upper,lower,upperequal,lowerequal,
in,notin)增加length属性
<!-- 
		用于设置获取集合,字符串长度的变量名称,可对Collection,ListInfo,String,Map,Array类型对象求长度操作
	  
	 length属性值带有前缀cell,request,session,pagecontext:
	 cell 从对象属性中获取属性值得长度
	 request 从request属性中获取属性值得长度
	 parameter 从request参数中获取属性值得长度
	 session 从session属性中获取属性值得长度
	 pagecontext 从pagecontext属性中获取属性值得长度
	 默认从cell中获取对象属性
	 length属性适用于equal,notequal,upper,lower,upperequal,lowerequal,
	 in,notin标签
		 -->
		<attribute>
			<name>length</name>
			<rtexprvalue>true</rtexprvalue>
		</attribute>


2.list标签增加position,start属性,用来直接展示对应位置的对象
position属性标识只输出集合中postion位置对应的对象数据,如果postion超出集合大小,则抛出异常
start属性指示从start开始的位置输出集合中的后续元素,忽略start之前的数据,start小于0从第一个位置开始迭代数据,start大于集合大小则不输出任何数据。

上述两个改造使用实例:
<pg:equal length="request:rejectList" value="1">
		
		if(confirm("确实要驳回"))//驳回
			{
				<pg:list requestKey="rejectList" position="0">
					$("#approveForm #pass").val("<pg:cell colName='nodeCode'/>");
				</pg:list>									
				$("#approveForm").submit();
			}
			return false;
			
	</pg:equal>
<pg:list requestKey="rejectList" start="2">
					$("#approveForm #pass").val("<pg:cell colName='nodeCode'/>");
				</pg:list>



3.增加size标签,用来输出Collection,ListInfo,String,Map,Array类型对象求长度
<pg:size requestKey="rejectList"/>

<pg:size requestKey="rejectList" increament="1"/>

increament属性含义,输出size+increament的和,可以为负数,也可以为正数。
分享到:
评论
4 楼 yin_bp 2014-09-29  
另外在逻辑表达式属性中可以使用的标签内置变量,可以参考文档中的【2 保留变量】章节 :
bbossgroups标签库使用大全(续二)-表达式使用
3 楼 yin_bp 2014-09-29  
sql语句无需修改
加入统计信息(设置总记录数进去的时候做了修改):  
ListInfo datas=null;
		condition.setHotelcode(getHotelCode());
		datas=service.queryCustPerformListInfo(offset, pagesize,condition);	
               if(datas != null)
{	
		//加入统计信息
		CustPerforStatisEntity bean = service.queryCustPerformStatis(condition);
		List list = datas.getDatas();
		list.add(bean);
}
		model.addAttribute("datas", datas);	
		return "path:custperformlist";



JSP页面 修改如下:
<div id="customContent">
<pg:empty actual="${datas}" >
	<div class="nodata">
	<img src="${pageContext.request.contextPath}<pg:message code='sany.pdp.common.list.nodata.path'/>"/></div>
</pg:empty> 
<pg:notempty actual="${datas}">
   <pg:pager scope="request"  data="datas" desc="false" isList="false" containerid="custombackContainer" selector="customContent">
	<!-- 加入 class="tableOutline" 可控制表格宽度,滚动条展示 -->
	<div id="changeColor" >
	 <table width="100%" border="0" cellpadding="0" cellspacing="0" class="stable" id="tb">
        <pg:header>
       		<th>序号</th>
       		<th>日期</th>
       		<th>房数</th>
       		<th>人数</th>
       		<th>房费</th>
       		<th>餐费</th>
       		<th>康乐费</th>
       		<th>其它费用</th>
       		<th>总费用</th>
       		<th>佣金</th>
       	</pg:header>	
      <pg:list>
         <!-- 不是当前页最后一条记录 -->
         <pg:notequal expression="{rowid}" expressionValue="{pagesize}-1">
              <tr  onDblClick="clickrow('<pg:cell colName="id" />')">
                <td width="10px"><pg:rowid increament="1" offset="false"/></td>
                <td><pg:cell colName="hoteldate" /></td>	  
                <td><pg:cell colName="roomnumb" /></td>	  
                <td><pg:cell colName="peoplenumb" /></td>	  
                <td><pg:cell colName="roomcharge" /></td>	  
                <td><pg:cell colName="meals" /></td>	  
                <td><pg:cell colName="kanglefee" /></td>	  
                <td><pg:cell colName="otherexpen" /></td>	  
                <td><pg:cell colName="totalfee" /></td>	  
                <td><pg:cell colName="commision" /></td>	  
              </tr>
	  </pg:notequal>
	<!-- 是当前页最后一条记录,这条记录就是总计记录,可以根据要求进行处理和展示 -->			    
	 <pg:equal expression="{rowid}" expressionValue="{pagesize}-1">
               <tr  onDblClick="clickrow('<pg:cell colName="id" />')">
                <td width="10px"><pg:rowid increament="1" offset="false"/></td>
                <td><pg:cell colName="hoteldate" /></td>	  
                <td><pg:cell colName="roomnumb" /></td>	  
                <td><pg:cell colName="peoplenumb" /></td>	  
                <td><pg:cell colName="roomcharge" /></td>	  
                <td><pg:cell colName="meals" /></td>	  
                <td><pg:cell colName="kanglefee" /></td>	  
                <td><pg:cell colName="otherexpen" /></td>	  
                <td><pg:cell colName="totalfee" /></td>	  
                <td><pg:cell colName="commision" /></td>	  
              </tr>
	 </pg:equal>
   		
	 </pg:list>
    </table>
    </div>
	<div class="pages"><input type="hidden" value="<pg:querystring/>" id="querystring"/><pg:index tagnumber="10" sizescope="5,10,20,50,100"/></div>

    </pg:pager>
    </pg:notempty>
</div>	


2 楼 ljthinkpad 2014-09-29  
取 列表数据的SQL:
select
t.custcomid  ,
to_char(t.hoteldate,'yyyy-MM')  hoteldate,
sum(nvl(t.roomnumb,0)) roomnumb ,
sum(nvl(t.peoplenumb,0)) peoplenumb,
sum(nvl(t.roomcharge,0)) roomcharge,
sum(nvl(t.meals,0)) meals      ,
sum(nvl(t.kanglefee,0))  kanglefee,
sum(nvl(t.otherexpen,0)) otherexpen,
sum(nvl(t.totalfee,0))  totalfee ,
sum(nvl(t.commision,0)) commision 
from sd_cust_perfor_statis t
where t.hotelcode = #[hotelcode]
#if($custcomid && !$custcomid.equals(""))
and t.custcomid = #[custcomid]
  #end
  #if($startime && !$startime.equals(""))
and trunc(t.hoteldate) >= #[startime]
#end
#if($endtime && !$endtime.equals(""))
and trunc(t.hoteldate) <= #[endtime]
  #end
  group by t.custcomid,to_char(t.hoteldate,'yyyy-MM')


取统计信息的SQL:
select
t.custcomid  ,
to_char(t.hoteldate,'yyyy-MM')  hoteldate,
sum(nvl(t.roomnumb,0)) roomnumb ,
sum(nvl(t.peoplenumb,0)) peoplenumb,
sum(nvl(t.roomcharge,0)) roomcharge,
sum(nvl(t.meals,0)) meals      ,
sum(nvl(t.kanglefee,0))  kanglefee,
sum(nvl(t.otherexpen,0)) otherexpen,
sum(nvl(t.totalfee,0))  totalfee ,
sum(nvl(t.commision,0)) commision 
from sd_cust_perfor_statis t
where t.hotelcode = #[hotelcode]
#if($custcomid && !$custcomid.equals(""))
and t.custcomid = #[custcomid]
  #end
  #if($startime && !$startime.equals(""))
and trunc(t.hoteldate) >= #[startime]
#end
#if($endtime && !$endtime.equals(""))
and trunc(t.hoteldate) <= #[endtime]
  #end
加入统计信息:  
ListInfo datas=null;
condition.setHotelcode(getHotelCode());
datas=service.queryCustPerformListInfo(offset, pagesize,condition);
//加入统计信息
CustPerforStatisEntity bean = service.queryCustPerformStatis(condition);
List list = datas.getDatas();
list.add(bean);
datas.setDatas(list);
model.addAttribute("datas", datas);
return "path:custperformlist";


JSP页面 
<div id="customContent">
<pg:empty actual="${datas}" >
<div class="nodata">
<img src="${pageContext.request.contextPath}<pg:message code='sany.pdp.common.list.nodata.path'/>"/></div>
</pg:empty>
<pg:notempty actual="${datas}">
   <pg:pager scope="request"  data="datas" desc="false" isList="false" containerid="custombackContainer" selector="customContent">
<!-- 加入 class="tableOutline" 可控制表格宽度,滚动条展示 -->
<div id="changeColor" >
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="stable" id="tb">
        <pg:header>
       <th>序号</th>
       <th>日期</th>
       <th>房数</th>
       <th>人数</th>
       <th>房费</th>
       <th>餐费</th>
       <th>康乐费</th>
       <th>其它费用</th>
       <th>总费用</th>
       <th>佣金</th>
       </pg:header>
      <pg:list>
   <tr  onDblClick="clickrow('<pg:cell colName="id" />')">
                <td width="10px"><pg:rowid increament="1" offset="false"/></td>
                <td><pg:cell colName="hoteldate" /></td>  
                <td><pg:cell colName="roomnumb" /></td>  
                <td><pg:cell colName="peoplenumb" /></td>  
                <td><pg:cell colName="roomcharge" /></td>  
                <td><pg:cell colName="meals" /></td>  
                <td><pg:cell colName="kanglefee" /></td>  
                <td><pg:cell colName="otherexpen" /></td>  
                <td><pg:cell colName="totalfee" /></td>  
                <td><pg:cell colName="commision" /></td>  
        </tr>
</pg:list>
    </table>
    </div>
<div class="pages"><input type="hidden" value="<pg:querystring/>" id="querystring"/><pg:index tagnumber="10" sizescope="5,10,20,50,100"/></div>

    </pg:pager>
    </pg:notempty>
</div>



1 楼 ljthinkpad 2014-09-29  
考虑全部的统计,不考虑每一页的统计。
我用语句把统计的数据放入ListInfo。
但是我用 <pg:list> 输出时,
我先输出0-list.size-1 然后在输出统计信息。 
<pg:list> 有指定输出多到行到多少行吗?

相关推荐

    bbossgroups 3.0 发布,国内首款集

    近日,bbossgroups 3.0 正式发布,这款国内首款集AOP(面向切面编程)、MVC(模型-视图-控制器)、Persistent(持久化)、JSP Taglib(JSP 标签库)、分布式RPC服务及分布式事件框架于一体的J2EE开发框架,为开发者...

    bbossgroups 开发系列文章之一 最佳实践

    bbossgroups是一个开源的企业级Java应用框架,旨在简化企业级开发,提高开发效率。本文将深入讲解bbossgroups开发系列文章之一中的最佳实践,涉及bboss MVC框架的基础配置、控制器、数据库访问、DAO组件、业务组件...

    bbossgroups 3.1SQLExecutor组件ap使用实例

    首先,导入了必要的库,包括`java.sql.SQLException`,`java.util.List`,以及bbossgroups的相关包。`SQLExecutor`是主要的操作接口,而`NullRowHandler`和`RowHandler`则用于处理查询结果。 在`SimpleApiTest`类中...

    Bbossgroups体系架构.ppt

    **Bbossgroups体系架构详解** Bbossgroups是一个全面的、开源的企业级应用框架,旨在简化Java开发过程,提供一套完整的系统构建解决方案。它的核心设计理念是模块化和可扩展性,使得开发者能够灵活地搭建各种复杂的...

    bbossgroups 3.1培训教程.ppt

    4. **2011年**:标签库与MVC框架融合,持久层API改进,增加了SQL配置管理和动态SQL功能;Mvc框架全面加强,包括数据绑定、页面跳转和异常处理机制。 ### 框架组成 bbossgroups 3.1主要由以下部分构成: 1. **AOP/...

    bbossgroups 3.0 培训教程

    1. **模块化设计**:bbossgroups 3.0 采用模块化设计,使得各个组件可以独立使用,增强了代码的复用性和可维护性。开发者可以根据项目需求选择相应的模块,降低系统的复杂度。 2. **高性能的消息队列**:...

    企业级J2EE开源框架bboss

    BBoss框架的最新版本bbossgroups-bboss-389b83a可能包含了对原有功能的优化、新特性的添加以及bug修复。开发者在使用时,应详细阅读官方文档,了解其具体变更,以便更好地利用这一强大的工具进行企业级应用的开发。 ...

    2013年度中国优秀开源项目列表

    12. bboss:bbossgroups是首个集成AOP、MVC、持久层、JSP标签库、分布式RPC服务和序列化组件的JavaEE企业级开发框架。 13. BeeFramework:BeeFramework是iOS平台的快速开发框架,特点包括易学易用、组件丰富,提供...

    bboss mvc 通过jsonp实现跨站跨域远程访问

    提供的压缩包文件"bbossgroups 框架培训教程.pptx"和"Bbossgroups演示文档.pptx"可能包含了更多关于bboss mvc框架的详细信息和使用示例,包括如何配置和使用JSONP等特性。建议查阅这些文档以获取更深入的理解。 总...

    bboss-elastic-tran:bboss 数据同步工具

    弹性Tran老板数据交换模块使用文档: : Bboss是一个很好的Elasticsearch Java Rest客户端。 它运行并访问像mybatis这样的elasticsearch来关联数据库。环境要求JDK要求:JDK 1.7+ Elasticsearch版本要求:1.X,2.X,5...

    java版地图源码-bboss-elasticsearch:最好的elasticsearch高级javarest客户端api-----bbos

    java版地图源码弹性搜索Bboss Bboss 是一个很好的 elasticsearch ...如何使用 Elasticsearch BBoss。 首先将BBoss的maven依赖添加到你的pom.xml中: &lt; dependency &gt; &lt; groupId &gt;com.bbossgroups.p

    基于Java和Shell的bboss session framework跨域集群节点会话共享与监控设计源码

    该项目是一款基于Java和Shell语言的bboss session framework设计源码,专注于实现跨域集群节点之间的会话共享,并具备良好的会话监控和数据统计功能。该框架包含222个文件,包括164个Java源文件、14个XML配置文件、6...

Global site tag (gtag.js) - Google Analytics