本文介绍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.标签定义文件的导入 

Js代码

  1. <%@ taglib uri="/WEB-INF/pager-taglib.tld" prefix="pg"%>  

  2. <%@ taglib uri="/WEB-INF/treetag.tld" prefix="tree" %>  

  3. <%@ taglib uri="/WEB-INF/commontag.tld" prefix="common"%>   

2.2.config 标签 
config 用来导入标签库用到的js文件,enablecontextmenu用来控制是否输出右键菜单相关的js函数,false不输出,反之输出,使用方法如下: 

Js代码  

  1. "false"/>  

2.3.list标签 
用来输出list,set,map[],list,list等中的数据,使用方法如下,可以和pager标签结合使用,也可以直接从request,session,pagecontext中获取数据,或者直接从数据库获取数据,或者和list嵌套使用,或者通过actual属性结合el表达式获取需要展示的数据。 
从request,session,pagecontext中获取数据: 

Java代码  

  1. "serverHelloListBean" > "name"/> "id"/>  

结合el表达式获取数据: 

Java代码  

  1. "${serverHelloListBean}" > "name"/> "id"/>   

和pager标签结合使用: 

Html代码  

  1.  dataInfo="test.pager.TableInfoListData" keyName="TableInfoListData" />  

  2.                   

  3.                  maxPageItems="15" scope="request" data="TableInfoListData"   

  4.                           isList="false">  

  5.                      class="cms_report_tr">  

  6.                           

  7.                           

  8.                          width="2%" align=center style="width:5%">  

  9.                          class="checkbox"   

  10.                             type="checkBox" hidefocus=true   

  11.                             name="checkBoxAll"   

  12.                             onClick="checkAll('checkBoxAll','ID')">   

  13.                           

  14.                          nowrap="true" width="5%" title="TABLE_NAME"  

  15.                                             sort="false" colName="" className="report_header"/>  

  16.                          nowrap="true" width="5%" title="TABLE_ID_NAME"  

  17.                                             sort="true" colName="TABLE_ID_NAME" className="report_header"/>  

  18.                           

  19.                          width="28%"> TABLE_ID_INCREMENT  

  20.                          width="6%">  TABLE_ID_VALUE   

  21.                          width="9%">  TABLE_ID_GENERATOR                            

  22.                          width="10%" height='30'>TABLE_ID_TYPE  

  23.                          width="10%" height='30'>TABLE_ID_PREFIX  

  24.                                                         

  25.                       

  26.                   

  27.                           class="labeltable_middle_tr_01">  

  28.                              colspan=100 align='center' height="18px">没有数据  

  29.                           

  30.                   

  31.                   autosort="false">  

  32.                      class="cms_report_tr">  

  33.                          width="2%" align=center style="width:5%">  

  34.                              class="checkbox" hideFocus onClick="checkOne('checkBoxAll','ID')"   

  35.                             type="checkbox" name="ID"   

  36.                             value=" colName="TABLE_NAME" defaultValue=""/>">                                         

  37.                           

  38.                          width="8%">  

  39.                              colName="TABLE_NAME" defaultValue=""/>                     

  40.                          width="8%">  

  41.                              colName="TABLE_ID_NAME" defaultValue=""/>                          

  42.                          width="28%">  

  43.                              colName="TABLE_ID_INCREMENT" defaultValue=""/>  

  44.                           

  45.                          width="6%">  

  46.                              colName="TABLE_ID_VALUE" defaultValue=""/>                         

  47.                          width="9%">  

  48.                              colName="TABLE_ID_GENERATOR" defaultValue=""/>                         

  49.                           

  50.                          width="10%" height='30'> colName="TABLE_ID_TYPE" defaultValue=""/>  

  51.                          width="10%" height='30'> colName="TABLE_ID_PREFIX" defaultValue=""/>  

  52.                       

  53.                       

  54.                      class="labeltable_middle_tr_01">  

  55.                          colspan=11 > class="Data_List_Table_Bottom">   

  56.                             共  

  57.                              />  

  58.                             条记录  

  59.                             每页显示15条  

  60.                              />                  

    

  •                       

  •                      id="queryString" name="queryString" value="" type="hidden">  

  •                       

  •                   

  • 直接从数据库获取数据: 

    Html代码  

    1.  statement="select * from tableinfo order by table_id_value desc"

      dbname="bspf">  

    2.           

    3.              class="cms_data_tr" id=" colName="table_name" defaultValue=""/>">  

    4.                   

    5.                      colName="table_name" defaultValue=""/>  

    6.                    

    7.                   

    8.                      colName="table_id_name" defaultValue="" />  

    9.                   

    10.                  class="tablecells" align=center height='30' width="5%">  

    11.                      colName="table_id_value" defaultValue=""/>  

    12.                    

    13.               

    14.           

    和list嵌套使用: 

    Java代码  

    1. "serverHelloListBean" >           "name"/>  

    2.        "innerdatas">  

    3.         "innername"/>  

    4.     

    5.         "0" colName="name"/>   

    6.           

    7.   

    list标签还可嵌套在beaninfo、map标签中使用。list标签还可以输出数组的元素值: 
    Java代码  

    1. "serverHelloArray" >  

    2.                                 "1"/>   

    3.                               

    最后我们看一个在列表中如何嵌套其它列表实现select元素中项默认选中的例子: 
     
     
     
    第一个是一个对象列表,是需要展示的数据列表,对象中包含属性acctasscat,该属性值对应select下拉选择框的value,如果相应的下拉选择项的值和acctasscat属性的值相等则默认选中。 
    第二个是一个字典对象列表,我们用它来生成下拉选择框,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标签典型用法如下: 
    //默认输出值为""串 
    //默认输出值为"mm"串 
     
     
      //htmlEncode属性控制是否对输出进行html转义编码,true编码,false不编码,默认值为false 
    //超过最大长度10将被截断 
    //超过最大长度10将被截断,截断的串将被replace指定的值替换掉 
    //直接输出对象或者当前集合中的记录值(list,数组,map,set中放置的是基本数据类型String,number等) 
    如果cell标签展示对对象属性时一个对象的话,可以有两种方式来展示colName对应的属性对象中的属性值: 
    son属性是一个对象类型,结构为:son{name,class,sex} 
    第一种 直接用property属性来获取son属性中的name属性: 
     
    第二种 通过嵌套beaninfo标签来展示son对象中的所有属性: 
     
        
        
        
     
    cell标签可以嵌套在beaninfo、list、map标签中使用也可以单独使用,单独使用的方法如下: 
    //直接输出el表达式${param.name}代表的值。 
    另外cell标签中提供了usecurrentCellValuetoCellName和currentcelltoColName两个属性,具体使用方法可参考文档: 
    bboss标签实现列表中的动态列数据展示方法 
    2.5.beaninfo标签 
    beaninfo标签用来展示po详细信息的标签,具体用法有从request,session,pageContext中获取要展示的对象,或者从db中获取要展示的数据,或者嵌套在list,map,beaninfo标签中展示属性对应的对象。 
    从request获取要展示的对象: 

    Java代码  

    1. "serverHelloMapBean" >"name"/>  

    从db中获取要展示的数据: 

    Java代码  

    1. "select * from tableinfo where lower(table_name)='td_sm_user' order by table_id_value desc"   

    2.                   dbname="bspf">            

    3.             class="cms_data_tr" id="table_name" defaultValue=""/>">  

    4.                   

    5.                     "table_name" defaultValue=""/>  

    6.                    

    7.                   

    8.                     "table_id_name" defaultValue="" />  

    9.                   

    10.                 class="tablecells" align=center height='30' width="5%">  

    11.                     "table_id_value" defaultValue=""/>  

    12.                    

    13.               

    14.           

    嵌套在list中使用: 

    Java代码  

    1. "serverHelloListBean" >           "name"/>  

    2.        "innerdatas">  

    3.         "innername"/>  

    4.     

    5.         "0" colName="name"/>    

    6.          

    7.   

    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对象中包含的数据 
    从request获取要展示的对象: 

    Java代码  

    1. "serverHelloMapBean" > "name"/>   

    通过actual属性结合el表达式获取要展示的对象:

    Java代码  

    1. "${serverHelloMapBean}" >"name"/>  

    指定key获取map中的一个值: 

    Java代码  

    1. "serverHelloMapBean" key="testkey">  

    如果testkey对应的是一个对象,则可以结合cell标签输出每个属性的值: 

    Java代码  

    1. "serverHelloMapBean" key="testkey">

    2.          "pro1"/>  

    3.     "pro2"/>  

    4.   

    在list或者beaninfo中根据对象属性值获取map中的一个值:

    Java代码  

    1. "serverHelloListBean" >     

    2. "name"/>   

    3. "serverHelloMapBean" keycolName="testkey">       

    4.            

    5.   

    6.   

    嵌套在list中使用: 

    Java代码  

    1. "serverHelloListBean" >     

    2.         "name"/>  

    3.        "innerdatas">  

    4.   

    5.         "innername"/>  

    6.     

    7.         "0" colName="name"/>    

    8.           

    9.   

    map标签还可以展示Map等基础数据类型value的迭代: 

    Java代码  

    1.   

    2.         

      map字符串信息迭代功能

        

    3.         "mapstrings"          

    4.             class="cms_data_tr">  

    5.                 

    6.   

    7.                 

    8.  

    9.             

    10.   

    11.           

    12.     

    13. mapkey: value:
        

    map标签嵌套在beaninfo中使用: 
     
     
     
    其中selected的含义: 
    如果map迭代中当前的key和beaninfo标签表示的对象的module_id属性相等则输出selected(0.表示最外层容器的索引编号,次外层为1.,其他依次类推) 
    map标签展示map中某个key对应值以及更加复杂的案例参考文章:
    bboss中的map标签结合list标签/cell标签展示复杂数据结构案例 
    map中嵌套beaninfo标签: 

    Xml代码  

    1.  requestKey="moduleMap">  

    2.         

    3.         colName="name"/>  

    4.         colName="classInfo">  

    5.             colName="className"/>  

    6.                    

    7.   

    2.7.pager、listdata、querystring、rowcount、param、params、index、title、notify标签 
    pager标签主要用来和index、listdata、list等标签或者mvc框架控制器方法结合实现分页功能,分页数据可以从数据加载器中获取,也可以从db中直接或取,还可以从mvc控制器方法中获取。另外还可以和ajax结合在一个页面中加载多个分页模块。 
    从数据加载器中获取数据: 

    Java代码  

    1. "test.pager.TableInfoListData" keyName="TableInfoListData" />  

    2.                   

    3.                 "15" scope="request" data="TableInfoListData" 

    4.                           isList="false">  

    5. "table_name"/>   

    6. "ids"/>   

    7.                       

    8.                           

    9.                          

    10.                         "2%" align=center style="width:5%">  

    11.                         class="checkbox"   

    12.                             type="checkBox" hidefocus=true   

    13.                             name="checkBoxAll"   

    14.                             onClick="checkAll('checkBoxAll','ID')">   

    15.                           

    16.                         "true" width="5%" title="TABLE_NAME"  

    17.                                             sort="false" colName="" className="report_header"/>  

    18.                         "true" width="5%" title="TABLE_ID_NAME"  

    19.                                             sort="true" colName="TABLE_ID_NAME" className="report_header"/>  

    20.                           

    21.                                                                                 

    22.                       

    23.                   

    24.                         class="labeltable_middle_tr_01">  

    25.                             100 align='center' height="18px">  

    26.                                 没有数据  

    27.                               

    28.                           

    29.                   

    30.                 "false">  

    31.                     class="cms_report_tr"

    32.                         "2%" align=center style="width:5%">  

    33.                             class="checkbox" hideFocus onClick="checkOne('checkBoxAll','ID')"   

    34.                             type="checkbox" name="ID"   

    35.                             value="TABLE_NAME" defaultValue=""/>">                                         

    36.                           

    37.                         "8%">  

    38.                             "TABLE_NAME" defaultValue=""/>                     

    39.                         "8%">  

    40.                             "TABLE_ID_NAME" defaultValue=""/>                          

    41.                                               

    42.                       

    43.                     class="labeltable_middle_tr_01">  

    44.                         11 >class="Data_List_Table_Bottom">   

    45.                             共  

    46.                               

    47.                             条记录  

    48.                             每页显示15条  

    49.