天天看點

bboss标簽使用大全-資料展示标簽

bboss标簽庫使用大全

本文介紹bboss中所有資料展示标簽使用方法。

1.bbossgroups中的标簽

1.1.資料展示标簽主要是bboss taglib中的一系列标簽,很好地和mvc架構、jquery、jquery easyui結合使用: pager, listdata,notify,list, beaninfo,cell, rowid,rowcount,querystring ,convert,contextmenu,map,mapkey,param,params,index,config,size

樹标簽:tree,treedata,radio,checkbox

1.2.邏輯标簽(可以和頁面資料展示标簽結合使用,也可以單獨使用)equal,notequal,null,notnull, equalandlower, equalandupper,

upper, lower, in, notin,match,contain,notmatch,notcontain,empty,notempty,true,false,startwith,notstartwith,endwith,notendwith

1.3.國際化和主題标簽message

theme

1.4.mvc資料綁定錯誤資訊展示标簽errors

error

globalerrors

1.5.request/session标簽request

session

1.6.資料庫操作标簽,有效防止sql注入問題

dbutil-執行資料庫增、删、改操作(預編譯和普通)

sqlparams-用于支援在pager标簽,beaninfo标簽,list标簽上執行預編譯操作的綁定變量集合,同時可以指定sql綁定變量的定義文法分界符。

batchutil-執行預編譯批處理、普通批處理操作

statement-指定batchutil要執行的批處理語句,可以是預編譯sql語句,也可以是普通sql語句

batch-指定statement指定的預編譯sql語句的一組綁定變量

sqlparam-用來指定預編譯操作的sql綁定變量參數的值、資料類型、資料格式,隻能内置在dbutil,sqlparams,statement,batch三個标簽中。

資料庫标簽的介紹,請參考文章:

http://yin-bp.iteye.com/blog/648161

2.下面全面介紹每類标簽的簡單用法。

2.1.标簽定義檔案的導入

<%@ taglib uri="/WEB-INF/pager-taglib.tld" prefix="pg"%>
<%@ taglib uri="/WEB-INF/treetag.tld" prefix="tree" %>
<%@ taglib uri="/WEB-INF/commontag.tld" prefix="common"%>	      

2.2.config 标簽

config 用來導入标簽庫用到的js檔案,enablecontextmenu用來控制是否輸出右鍵菜單相關的js函數,false不輸出,反之輸出,使用方法如下:

<pg:config enablecontextmenu="false"/>      

2.3.list标簽

用來輸出list,set,map[],list<map>,list<string,number>等中的資料,使用方法如下,可以和pager标簽結合使用,也可以直接從request,session,pagecontext中擷取資料,或者直接從資料庫擷取資料,或者和list嵌套使用,或者通過actual屬性結合el表達式擷取需要展示的資料。

從request,session,pagecontext中擷取資料:

<pg:list requestKey="serverHelloListBean" >			<pg:cell colName="name"/>
       <pg:cell colName="id"/>

</pg:list>      

結合el表達式擷取資料:

<pg:list actual="${serverHelloListBean}" >			<pg:cell colName="name"/>
       <pg:cell colName="id"/>

</pg:list>      

和pager标簽結合使用:

<pg:listdata dataInfo="test.pager.TableInfoListData" keyName="TableInfoListData" />
				<!--分頁顯示開始,分頁标簽初始化-->
				<pg:pager maxPageItems="15" scope="request" data="TableInfoListData" 
						  isList="false">
					<tr class="cms_report_tr">
						<!--設定分頁表頭-->
					<pg:header>									
										
						<td width="2%" align=center style="width:5%">
						<input class="checkbox" 
							type="checkBox" hidefocus=true 
							name="checkBoxAll" 
							onClick="checkAll('checkBoxAll','ID')"> 
						</td>
						<pg:title nowrap="true" width="5%" title="TABLE_NAME"
											sort="false" colName="" className="report_header"/>
						<pg:title nowrap="true" width="5%" title="TABLE_ID_NAME"
											sort="true" colName="TABLE_ID_NAME" className="report_header"/>
						
						<td width="28%">
							TABLE_ID_INCREMENT</td>
						
						<td width="6%">
							TABLE_ID_VALUE						</td>
						<td width="9%">
							TABLE_ID_GENERATOR						</td>
						
						<td width="10%" height='30'>TABLE_ID_TYPE</td>
						<td width="10%" height='30'>TABLE_ID_PREFIX</td>
					</pg:header>									
					</tr>
				<pg:notify>
						<tr  class="labeltable_middle_tr_01">
							<td colspan=100 align='center' height="18px">
								沒有資料
							</td>
						</tr>
				</pg:notify>

					
				<pg:list  autosort="false">
					<tr class="cms_report_tr">
						

						<td width="2%" align=center style="width:5%">
							<input class="checkbox" hideFocus onClick="checkOne('checkBoxAll','ID')" 
							type="checkbox" name="ID" 
							value="<pg:cell colName="TABLE_NAME" defaultValue=""/>">										
						</td>
						<td width="8%">
							<pg:cell colName="TABLE_NAME" defaultValue=""/>					</td>
						<td width="8%">
							<pg:cell colName="TABLE_ID_NAME" defaultValue=""/>						</td>
						<td width="28%">
							<pg:cell colName="TABLE_ID_INCREMENT" defaultValue=""/></td>
						
						<td width="6%">
							<pg:cell colName="TABLE_ID_VALUE" defaultValue=""/>						</td>
						<td width="9%">
							<pg:cell colName="TABLE_ID_GENERATOR" defaultValue=""/>						</td>
						
						<td width="10%" height='30'><pg:cell colName="TABLE_ID_TYPE" defaultValue=""/></td>
						<td width="10%" height='30'><pg:cell colName="TABLE_ID_PREFIX" defaultValue=""/></td>
					</tr>
					</pg:list>
					<tr class="labeltable_middle_tr_01">
						<td colspan=11 ><div class="Data_List_Table_Bottom"> 
							共
							<pg:rowcount />
							條記錄
							每頁顯示15條
							<pg:index />					</div>  </td>
					</tr>
					<input id="queryString" name="queryString" value="<pg:querystring/>" type="hidden">
					<tr></tr>
				</pg:pager>      

直接從資料庫擷取資料:

<pg:list statement="select * from tableinfo order by table_id_value desc" 
	    		  dbname="bspf">
		
			<tr class="cms_data_tr" id="<pg:cell colName="table_name" defaultValue=""/>">
				<td>
					<pg:cell colName="table_name" defaultValue=""/>
				</td> 
				<td>
					<pg:cell colName="table_id_name" defaultValue="" />
				</td>
				<td class="tablecells" align=center height='30' width="5%">
					<pg:cell colName="table_id_value" defaultValue=""/>
				</td>	
			</tr>
		</pg:list>      

和list嵌套使用:

<pg:list requestKey="serverHelloListBean" >			<pg:cell colName="name"/>
       <pg:list colName="innerdatas">
        <pg:cell colName="innername"/>
  <!--擷取外圍list的屬性字段值,index是外層list索引,最外層為0-->
        <pg:cell index="0" colName="name"/>

       </pg:list>

</pg:list>      

list标簽還可嵌套在beaninfo、map标簽中使用。list标簽還可以輸出數組的元素值:

<pg:list requestKey="serverHelloArray" >
								<pg:rowid increament="1"/> <pg:cell />
							</pg:list>      

最後我們看一個在清單中如何嵌套其它清單實作select元素中項預設選中的例子:

<pg:list requestKey="applistData">

<select name="acctasscat">

<option value=""></option>

<pg:list requestKey="acctasscatList" >

<option value="<pg:cell colName='dict_item_code'/>" <pg:equal expression="{0.acctasscat}"  expressionValue="{dict_item_code}">

selected</pg:equal>>

<pg:cell colName='dict_item_name'/>

</option>

</pg:list>

</select>

</pg:list>

第一個<pg:list requestKey="applistData">是一個對象清單,是需要展示的資料清單,對象中包含屬性acctasscat,該屬性值對應select下拉選擇框的value,如果相應的下拉選擇項的值和acctasscat屬性的值相等則預設選中。

第二個<pg:list requestKey="acctasscatList" >是一個字典對象清單,我們用它來生成下拉選擇框,dict_item_name屬性是字典項名稱,dict_item_code屬性是字典項值,dict_item_code和第一個list中目前記錄對象的acctasscat屬性對應。

我們用邏輯标簽equal來确定select的項是否被選中,equal标簽上指定了兩個表達式:expression="{0.acctasscat}"  expressionValue="{dict_item_code}"

expression和expressionValue分别代表要比較相等的兩個操作數,

expression="{0.acctasscat}" 中的{0.acctasscat}的含義:{}中的名稱是一個屬性變量,.号前面的0代表最外層list的位置号(在這裡表示第一個list,次外層為1,依次類推) ,.号後面的acctasscat表示取第一個list的目前記錄的acctasscat屬性值最為第一個比較操作數。

expressionValue="{dict_item_code}"中的{dict_item_code}的含義:{}中的名稱是一個屬性變量,dict_item_code表示取第二個list的目前記錄的dict_item_code屬性值最為第二個比較操作數。

2.4.cell标簽

cell标簽典型用法如下:

<pg:cell colName="id" />//預設輸出值為""串

<pg:cell colName="id" defaultValue="mm"/>//預設輸出值為"mm"串

<pg:cell colName="datea" dateformat="yyyy-MM-dd"/>

<pg:cell colName="money" numerformat="###.##"/>

<pg:cell colName="moudleCNName" htmlEncode="true"/>  //htmlEncode屬性控制是否對輸出進行html轉義編碼,true編碼,false不編碼,預設值為false

<pg:cell colName="id" maxlength="10"/>//超過最大長度10将被截斷

<pg:cell colName="id" maxlength="10" replace="..."/>//超過最大長度10将被截斷,截斷的串将被replace指定的值替換掉

<pg:cell/> //直接輸出對象或者目前集合中的記錄值(list,數組,map,set中放置的是基本資料類型String,number等)

如果cell标簽展示對對象屬性時一個對象的話,可以有兩種方式來展示colName對應的屬性對象中的屬性值:

son屬性是一個對象類型,結構為:

son{name,class,sex}

第一種 直接用property屬性來擷取son屬性中的name屬性:

<pg:cell colName="son" property="name" />

第二種 通過嵌套beaninfo标簽來展示son對象中的所有屬性:

<pg:beaninfo colName="son">

   <pg:cell colName="name"/>

   <pg:cell colName="class"/>

   <pg:cell colName="sex"/>

</pg:beaninfo>

cell标簽可以嵌套在beaninfo、list、map标簽中使用也可以單獨使用,單獨使用的方法如下:

<pg:cell actual="${param.name}" />//直接輸出el表達式${param.name}代表的值。

另外cell标簽中提供了usecurrentCellValuetoCellName和currentcelltoColName兩個屬性,具體使用方法可參考文檔:

bboss标簽實作清單中的動态列資料展示方法

2.5.beaninfo标簽

beaninfo标簽用來展示po詳細資訊的标簽,具體用法有從request,session,pageContext中擷取要展示的對象,或者從db中擷取要展示的資料,或者嵌套在list,map,beaninfo标簽中展示屬性對應的對象。

從request擷取要展示的對象:

<pg:beaninfo requestKey="serverHelloMapBean" >
								<pg:cell colName="name"/>
							</pg:beaninfo>      

從db中擷取要展示的資料:

<pg:beaninfo statement="select * from tableinfo where lower(table_name)='td_sm_user' order by table_id_value desc" 
	    		  dbname="bspf">
		
			<tr class="cms_data_tr" id="<pg:cell colName="table_name" defaultValue=""/>">
				<td>
					<pg:cell colName="table_name" defaultValue=""/>
				</td> 
				<td>
					<pg:cell colName="table_id_name" defaultValue="" />
				</td>
				<td class="tablecells" align=center height='30' width="5%">
					<pg:cell colName="table_id_value" defaultValue=""/>
				</td>	
			</tr>
		</pg:beaninfo>      

嵌套在list中使用:

<pg:list requestKey="serverHelloListBean" >			<pg:cell colName="name"/>
       <pg:beaninfo colName="innerdatas">
        <pg:cell colName="innername"/>
  <!--擷取外圍list的屬性字段值,index是外層list索引,最外層為0-->
        <pg:cell index="0" colName="name"/>

       </pg:beaninfo>

</pg:list>      

2.6.map、mapkey标簽

map标簽有兩個作用:

1.用來疊代展示map中的所有對象詳細資訊,map标簽展示的資料可以從request,session,pagecontext中擷取,也可以嵌套在list,beaninfo,map标簽中使用,也可以通過actual屬性結合el表達式擷取展示資料。

2.用來輸出map中的某個值

mapkey标簽在map标簽中使用,用來輸出map中的key值。

map中value可以為各種複雜的對象類型,value可以為普通的bean對象,基礎資料類型,list/map/數組等容器對象。

map包括以下主要屬性:

requestKey:指定map對象存儲在request中的key名稱

colName:map對象來源于bean屬性名稱

keycell:隻展示map中的一個資料,指定map所對應的外圍容器中目前記錄對象作為key值,map标簽然後擷取key對應的value,map标簽中内置的cell标簽、邏輯标簽、list标簽都可以展示value對象中包含的資料

key:隻展示map中的一個資料,指定map資料key,從map中擷取key對應的value,map标簽中内置的cell标簽、邏輯标簽、list标簽都可以展示value對象中包含的資料

keycolName:隻展示map中的一個資料,指定map所對應的外圍容器中對象中的屬性名稱,key的由該屬性對應的值指定,map标簽然後擷取key對應的value,map标簽中内置的cell标簽、邏輯标簽、list标簽都可以展示value對象中包含的資料

<pg:map requestKey="serverHelloMapBean" >
	
         <pg:mapkey/>
<pg:cell colName="name"/>
							</pg:map>      

通過actual屬性結合el表達式擷取要展示的對象:

<pg:map actual="${serverHelloMapBean}" >
	
         <pg:mapkey/>
<pg:cell colName="name"/>
							</pg:map>      

指定key擷取map中的一個值:

<pg:map requestKey="serverHelloMapBean" key="testkey">
	
         <pg:cell />
							</pg:map>      

如果testkey對應的是一個對象,則可以結合cell标簽輸出每個屬性的值:

<pg:map requestKey="serverHelloMapBean" key="testkey">
	
         <pg:cell colName="pro1"/>
	<pg:cell colName="pro2"/>
</pg:map>      

在list或者beaninfo中根據對象屬性值擷取map中的一個值:

<pg:list requestKey="serverHelloListBean" >	
<pg:cell colName="name"/>

<pg:map requestKey="serverHelloMapBean" keycolName="testkey">
	
         <pg:cell/>
</pg:map>
</pg:list>      
<pg:list requestKey="serverHelloListBean" >	
		<pg:cell colName="name"/>
       <pg:map colName="innerdatas">
<pg:mapkey/>
        <pg:cell colName="innername"/>
  <!--擷取外圍list的屬性字段值,index是外層list索引,最外層為0-->
        <pg:cell index="0" colName="name"/>

       </pg:map>

</pg:list>      

map标簽還可以展示Map<Stirng,String>等基礎資料類型value的疊代:

<table>
	    <h3>map<String,String>字元串資訊疊代功能</h3>
		<pg:map requestKey="mapstrings">
		
			<tr class="cms_data_tr">
				<td>
					mapkey:<pg:mapkey/>
				</td> 
				<td>
					value:<pg:cell/>
				</td> 
				
			</tr>
		</pg:map>
		
		
	</table>      

map标簽嵌套在beaninfo中使用:

<pg:beaninfo requestKey="portalApplication">

<select id="module_id" name="module_id" class="select1"

style="width: 150px;">

<pg:map requestKey="moduleMap">

<option value="<pg:mapkey/>" <pg:equal expression="{mapkey}" expressionValue="{0.module_id} ">selected</pg:equal>> <pg:cell/> </option> </pg:map>

</select>

其中<pg:equal expression="{mapkey}" expressionValue="{0.module_id} ">selected</pg:equal>的含義:

如果map疊代中目前的key和beaninfo标簽表示的對象的module_id屬性相等則輸出selected(0.表示最外層容器的索引編号,次外層為1.,其他依次類推)

map标簽展示map中某個key對應值以及更加複雜的案例參考文章:

bboss中的map标簽結合list标簽/cell标簽展示複雜資料結構案例

map中嵌套beaninfo标簽:

<pg:map requestKey="moduleMap">
	<pg:mapkey/>	
       <pg:cell colName="name"/>
       <pg:beaninfo colName="classInfo">
           <pg:cell colName="className"/>
       </pg:beaninfo>
         
</pg:map>      

2.7.pager、listdata、querystring、rowcount、param、params、index、title、notify标簽

pager标簽主要用來和index、listdata、list等标簽或者mvc架構控制器方法結合實作分頁功能,分頁資料可以從資料加載器中擷取,也可以從db中直接或取,還可以從mvc控制器方法中擷取。另外還可以和ajax結合在一個頁面中加載多個分頁子產品。

從資料加載器中擷取資料:

<pg:listdata dataInfo="test.pager.TableInfoListData" keyName="TableInfoListData" />
				<!--分頁顯示開始,分頁标簽初始化-->
				<pg:pager maxPageItems="15" scope="request" data="TableInfoListData" 
						  isList="false">
<pg:param name="table_name"/> 
<pg:params name="ids"/> 
					<tr >
						<!--設定分頁表頭-->
					<pg:header>									
										
						<td width="2%" align=center style="width:5%">
						<input class="checkbox" 
							type="checkBox" hidefocus=true 
							name="checkBoxAll" 
							onClick="checkAll('checkBoxAll','ID')"> 
						</td>
						<pg:title nowrap="true" width="5%" title="TABLE_NAME"
											sort="false" colName="" className="report_header"/>
						<pg:title nowrap="true" width="5%" title="TABLE_ID_NAME"
											sort="true" colName="TABLE_ID_NAME" className="report_header"/>
						
											</pg:header>									
					</tr>
				<pg:notify>
						<tr  class="labeltable_middle_tr_01">
							<td colspan=100 align='center' height="18px">
								沒有資料
							</td>
						</tr>
				</pg:notify>

					
				<pg:list  autosort="false">
					<tr class="cms_report_tr">
						

						<td width="2%" align=center style="width:5%">
							<input class="checkbox" hideFocus onClick="checkOne('checkBoxAll','ID')" 
							type="checkbox" name="ID" 
							value="<pg:cell colName="TABLE_NAME" defaultValue=""/>">										
						</td>
						<td width="8%">
							<pg:cell colName="TABLE_NAME" defaultValue=""/>					</td>
						<td width="8%">
							<pg:cell colName="TABLE_ID_NAME" defaultValue=""/>						</td>
											</tr>
					</pg:list>
					<tr class="labeltable_middle_tr_01">
						<td colspan=11 ><div class="Data_List_Table_Bottom"> 
							共
							<pg:rowcount />
							條記錄
							每頁顯示15條
							<pg:index />					</div>  </td>
					</tr>
					<input id="queryString" name="queryString" value="<pg:querystring/>" type="hidden">
					<tr></tr>
				</pg:pager>      

其中listdata标簽指定了分頁标簽的資料加載器,并将加載器存放在request的attribute屬性TableInfoListData中,pager标簽通過data屬性引用該加載器,并且指定了每頁最多顯示15條記錄;param 标簽用來記錄頁面請求參數以便上下翻頁時不丢失請求或者查詢參數(單個參數);params 标簽用來記錄頁面請求參數數組以便上下翻頁時不丢失請求或者查詢參數(參數數組);notify标簽用來輸出沒有資料的提示資訊;list标簽用來疊代輸出當頁資料;rowcount标簽輸出總記錄數;index标簽輸出以下内容:

上下分頁導航按鈕

共幾頁,每頁多少條記錄,調整到第幾頁,設定每頁記錄數等等

querystring标簽用來輸出頁面所有參數串,用來友善進行處理和操作後任然跳回到目前頁面。

從資料庫中直接擷取資料,這個和上面的用法的唯一差別就是:

不需要listdata标簽,隻需要将pager标簽如下使用即可:

<pg:pager statement="select * from sqltest where rownum < 10 order by object_name " 
	    		  dbname="portal" isList="false" >      

和ajax結合在一個頁面中加載多個分頁子產品的使用方法:

首頁面内容:

<pg:config/>
	<body>
			<div id="pagecontainer">
				<script type="text/javascript">
				$(document).ready(function(){
					  $("#pagecontainer").load("pagerqueryuser.htm #pagecontent");
					});
				</script>
			</div>
			
			<div id="pagecontainer1">
				<script type="text/javascript">
				$(document).ready(function(){
					  $("#pagecontainer1").load("pagerqueryuser1.htm #pagecontent");
					});
				</script>
			</div>
	</body>      

兩個從頁面内容基本上差不多:

<div id="pagecontent">
              
			   	<pg:pager scope="request" data="users" 
						  isList="false" containerid="pagecontainer" selector="pagecontent">
				<pg:param name="userName" encode="true"/>
			<table class="genericTbl">
					<tr >
						<pg:title nowrap="true" width="8%" title="使用者ID:"
											sort="true" colName="userId" className="order1 sorted"/>	
						
						<pg:title nowrap="true" width="8%" title="使用者NAME:"
											sort="true" colName="userName" className="order1 sorted"/>	
					</tr>
					<pg:notify>
					<tr class="cms_report_tr">
					<td width="10%" align=center colspan="100" style="width:5%">
						沒有資料
					</td>
					</tr>				
				</pg:notify>
				<pg:list autosort="false">
					<tr class="even">
						
						 <td ><pg:cell colName="userId" defaultValue=""/>  
                         </td>  
                         <td width="8%" >  
                          <pg:cell colName="userName" defaultValue=""/></td>  
					</tr>
				</pg:list>
			</table>
			<div><pg:index/></div>
			</pg:pager> 
</div>      

需要說明的就是pager标簽上新加的兩個屬性

containerid="pagecontainer" //代表main頁面的div容器id,這個分頁list的内容将在該div中展示

selector="pagecontent" //表示分頁頁面内容的選擇器

data="users"對應的ListInfo對象直接從mvc控制器方法設定到request的attribute屬性中。例如:

public String pagerqueryuser1(@PagerParam(name=PagerParam.SORT ) String sortKey,
			@PagerParam(name=PagerParam.DESC,defaultvalue="true") boolean desc,
			@PagerParam(name=PagerParam.OFFSET) long offset,
			@PagerParam(name=PagerParam.PAGE_SIZE,defaultvalue="2") int pagesize,
			@RequestParam(name = "userName") String username ,
			ModelMap model) throws UserManagerException {
		ListInfo userTemp = userService.getUsersNullRowHandler(username,offset, pagesize);
		model.addAttribute("users", userTemp);
		return "jquerypagine/page1";
	}      

特别說明:分頁跳轉時如何記錄頁面的查詢參數或者其他請求參數

通過param标簽和params标簽來記錄頁面的查詢參數或者其他參數,放置的位置一般放置在pager标簽下面,例如:

<pg:pager maxPageItems="15" scope="request" data="TableInfoListData"

  isList="false">

<pg:param name="table_name"/>

<pg:params name="ids"/>

param标簽用于記錄單個值的參數,參數名稱通過name指定

params标簽用于記錄多個值的參數,參數名稱通過name指定

2.8.index标簽

index标簽作為導航标簽具有以下實用的屬性:

export-控制導航鍵是否出現得屬性:000000000(9位) 分别對應于"第幾頁"、“共幾頁”、“首頁”、“下一頁”、“上一頁”、“尾頁”、“跳轉到”,“每頁顯示幾條記錄”,"共多少條記錄"

對應得位置上的值為0時标示顯示該按鈕,為1時不顯示。

useimage-導航按鈕是否使用圖檔,預設值為false 隻有useimage=true時,imagedir和imageextend才起作用

如果useimage=true時,沒有指定imagedir和imageextend屬性,那麼采用預設屬性 使用方法 <pg:index

useimage="true" imagedir="/include/images" imageextend=" border=0 "/>

useimage-如果useimage=true時,沒有指定imagedir和imageextend屬性,那麼采用預設屬性 使用方法 <pg:index

imagedir-導航按鈕圖檔存放目錄,存放的圖檔名稱為: first.gif-首 頁 next.gif-下一頁 pre.gif-上一頁

last.gif-尾 頁 預設值為:/include/images

imageextend-導航圖檔的擴充屬性串,預設值為:" border=0 "

classname-中間頁面樣式名稱,類似于google的頁碼1頁,2頁的樣式

tagnumber-設定展示的中間頁面數,預設為-1,即不展示中間頁

centerextend-中間頁擴充屬性,用來設定每個頁面元素的額外css屬性和其他擴充屬性

sizescope-可選擇頁面顯示記錄數,預設為

"5","10","20","30","40","50","60","70","80","90","100"

使用者可以自定義這個範圍,以逗号分隔即可

如果在pager标簽和list标簽上指定的maxPageItems屬性對應的頁面記錄條數不在sizescope範圍中,那麼

将把maxPageItems作為第一個選項加入到sizescope中

每頁預設顯示多少條記錄有兩個地方可以指定,一個地方是pager标簽上指定:

<pg:pager maxPageItems="15" ...      

一個地方是bboss mvc控制器分頁方法參數pagesize的注解中指定defaultvalue="2":

public String pagerqueryuser1(......
			@PagerParam(name=PagerParam.PAGE_SIZE,defaultvalue="2") int pagesize,
......
	}      

一旦手動切換了每頁顯示記錄條數,則會将這個最新的記錄條數存到cookie中,不再使用預設設定的最大記錄條數,除非清除cookie。

2.9.rowid、rowcount、pagesize标簽

rowid标簽用來輸出list和map循環中的行号,具體使用方法如下:

<pg:rowid /> //預設從0開始

<pg:rowid increament="1"/>  //從1開始

<pg:rowid  offset="true"/>  offset為用來表示每頁是否都從0開始重新計數

rowcount标簽用來輸出總記錄數,用法如下:

<pg:rowcount />

pagesize用來輸出目前頁面記錄,用法如下:

<pg:pagesize />

2.10 convert标簽

convert标簽主要用來實作屬性值的轉碼,也就是說經屬性值和名稱的映射關系放到map中,然後通過convert标簽結合colName和code屬性結合來實作代碼轉換:

<%

Map aaaaa = new HashMap();

aaaaa.put("1","男");

aaaaa.put("2","女");

request.setAttribute("codes",aaaaa);

%>

<pg:convert convertData="codes" colName="sex"/>

2.11.标簽内置變量

list、map、beaninfo标簽都有一些内置java變量,可以直接在标簽中使用:

list、map标簽:dataSet對象,可以使用java代碼通路該對象擷取資料

beaninfo标簽:beanifo對象,可以使用java代碼通路該對象擷取資料

更多的标簽屬性可以參考标簽定義tld檔案:

pager-taglib.tld

未完待續。