泛微分页控件使用帮助及规范
目 录
前言
本文档描述的是泛微分页控件怎样使用,以及其相关的规范!
使用方法
引入这个tagLib
<%@ taglib uri=”/WEB-INF/weaver.tld” prefix=”wea”%> |
先定义一个Xml的table的String
![]() |
在需要产生表格的地方加入如下taglib标签
<wea:SplitPageTag tableInstanceId=”” tableString=”<%=tableString%>” mode=”run” selectedstrs=”” tableInfo=”ok ,this info!” showExpExcel="true" /> |
isShowTopInfo: 表示的是,是否也在页面顶部显示分页的信息,默认为 “true”
运行后的效果图如下:
![]() |
table String 定义字符串的各属性参考
Table 的属性(完全支持html中table的标签 下面只是一些特别的属性) | ||
name | 表格的名字 | 如: xtesttable |
instanceid | 表格的instanceid | 主要与SplitPage.xml中的instanceid对应 |
tabletype | 此表的类型 | 1.checkbox (多选) 2.radio (单选) 3.none (默认值) 4. thumbnail(缩略图显示) |
pagesize | 每页的显示条数 | 如 :10 |
sql的属性(仅支持以下属性) | ||
backfields | 从数据库中返回的字段名称 | 如: t1.requestid, t1.createdate, t1.createtime |
sqlfrom | from后面至where前面的子句 | 需在经过Util.toHtmlForSplitPage()方法进行转换,去除”<”,”>”,”’”三种符号 |
sqlwhere | where后面至group by前面的子句 | 需在经过Util.toHtmlForSplitPage()方法进行转换,去除”<”,”>”,”’”三种符号 |
sqlgroupby | group by后面至order by前面的子句 | 如:”group by t1.usertype” |
sqlorderby | order by 子句 | 如:” t1.createdate,t1.createtime”不能带asc,desc关键字 |
sqlsortway | 表格的排序方式 | 1.asc 升序 (默认为:asc) 2.desc 降序 |
sqlprimarykey | 此表中所需的主键 | (必输项) |
sqlisdistinct | 是否排除重复操作 | (默认为:false) |
browser 的属性(此标签主要用于在类似系统中的broser框时使用) | ||
returncolumn | 指定返回值的列 | 如: name |
transmethod | 需要进行转换的类 | 如:weaver.general.WorkFlow.getWFDegree |
checkboxpopedom的属性(此标签主要用于checkbox 框的显示属性) | ||
showmethod | 是否显示控件的方法 | 如:weaver.general.WorkFlow.getWFDegree |
popedompara | 传入的参数 | 如果是某一列则为column:XXX |
col的属性((完全支持html中TD的标签 下面只是一些特别的属性) | ||
align | 列的对齐方式 | 如: (默认为:left) |
name | 此列的名称 | 如: name |
text | 列标题 | 1.checkbox (多选) 2.radio (单选) 3.none (默认值) |
column | 对应的sql值列 | (必填项) |
orderkey | 排序时的关键字 | (默认为column的值) |
linkvaluecolumn | 链接的取值的列 | (默认为当前列的值) |
linkkey | 链接的关键字 | (默认为column的值) |
href | 键接的网址 | 如:/docs/docs/DocDsp.jsp |
target | 键接目标 | (如:_self ,_blank…)加上一个 _fullWindow |
transmethod | 转换时的类+方法名 | 如:weaver.general.WorkFlow.getWFDegree |
otherpara | 传入的第二个参数 | 如果表示以列传入,则前面必须加”column:” |
popedom的属性(此标签主要用于operate的权限控制) | ||
column | 指定返回值的列 | 如: name |
transmethod | 需要进行转换的类 | 如:weaver.general.WorkFlow.getWFDegree |
(默认传入的第一个参数是主键,如:id) | ||
otherpara | 传入的第二个参数 | 如果表示以列传入,则前面必须加”column:” 多列就加上”+”号 |
otherpara2 | 传入的第三个参数 | 如果表示以列传入,则前面必须加”column:” 多列就加上”+”号 |
operate的属性(此标签主要用于在类似系统中的broser框时使用) | ||
text | 显示的标题 | 如: 编辑, 共享 |
linkvaluecolumn | 链接的值的列 | 如:id |
linkkey | 链接的关键字 | 如:id |
href | 链接的网址 | 如:www.csdn.net |
target | 键接目标 | (如:_self ,_blank…)加上一个 _fullWindow |
index | 是否显示 | 与前面popedom的返回值对应 (从0开始) |
如果 href=\”javascript:doDocDel()\” 方式 则需要在在script脚本里定义如下的方法:
function doDocDel(主键){ }
注:所有写的transmethod 的类其返回值必须是String类型
taglib定义字符串的各属性参考
tableInstanceId | 指定splitpage.xml中的tableInstanceId | 如:”testtable1” |
tableString | 此表格定义的xml String | |
mode | 运行模式,( run和debug) | 你是在调试这个表格,那个,你一定要设置此模式为debug 这样,你才能得到很多有用的打印信息,并且,你所修改的表格的定义也才会被刷新 ,如果在最终调试好了以后,一定要把mode 设为run不然系统会白白浪费不必要的性能,当然即使用你设置的有是”run”状态,如果程序出现异常,它也会把错误信息打印出来! |
selectedstrs | heckbox ,radio类型的框的预选值 | 其格式是,用逗号分隔的字符串,并且字符串前后没有逗号 |
tableInfo | 此信息主要显示在表格的左上角 | |
showExpExcel | 是否显示导了excel的按钮 | “true”:是 “false” :否 |
isShowTopInfo | 是否显示顶部信息栏 | “true”:是 “false” :否 |
isShowBottomInfo | 是否显示底部信息栏 | “true”:是 “false” :否 |
isShowThumbnail | 是否缩略图显示 | 详细使用见 附录六 |
imageNumberPerRow | 每行显示的缩略图个数 |
如:
<wea:SplitPageTag tableInstanceId=”” tableString=”<%=tableString%>” mode=”run” selectedstrs=”” tableInfo=”ok ,this info!” showExpExcel="true" isShowTopInfo=”false” isShowBottomInfo =”false” /> |
对表格提供了以下八个功能函数
函数名称 | 作用 | 使用方法 |
_xtable_getAllExcel | 导出当前页Excel | _xtable_getAllExcel() |
_xtable_getExcel | 导出全部页Excel | _xtable_getExcel() |
_xtable_CheckedRadioId | 选 中radio的Id | Alert(_xtable_ CheckedRadioId ()) |
_xtable_CheckedRadioValue | 选 中radio的value | Alert(_xtable_ CheckedRadioValue ()) |
_xtable_CleanCheckedRadio | 清除选 中的radio | _xtable_ CleanCheckedRadio () |
_xtable_CheckedCheckboxId | 选 中的checkbox的ID | Alert(_xtable_ CheckedCheckboxId ()) |
_xtable_CheckedCheckboxValue | 选 中checkbox的value | Alert(_xtable_ CheckedCheckboxId ()) |
_xtable_CleanCheckedCheckbox | 清除选 中的checkbox | _xtable_ CleanCheckedCheckbox () |
对表格提供了以下几个页面跳转函数
函数名称 | 作用 | 使用方法 |
reLoad() | 得新加载本页 | _table. reLoad() |
firstPagel() | 第一页 | _table. firstPagel() |
prePage() | 上一页 | _table. prePage() |
nextPage() | 下一页 | _table. nextPage() |
lastPage() | 最后一页 | _table. lastPage() |
goPage(a) | 到第 a 页 | _table. goPage(a) |
附录1:上传时的xml全部string如下
![]() |
附录2:从服务器端处理后得到的Xml String如下
![]() |
附录3:部分文件命名规范如下
做转换函数的类的命名 | SptmFor+ 模块命 如SptmForDoc.java |
做操作权限判断的类的命名 | SpopFor+ 模块命 如SpopForDoc.java |
Sptm : splite page transform method 分页转换方法
Spop: splite page operate popedom 分页操作权限
SpChk: splite page checkbox 分页多选框权限制控制
放置路径如下:
Src\weaver\splitepage\ transform\SptmForDoc.java
Src\weaver\splitepage\ operate\SpopForDoc.java
Src\weaver\splitepage\ operate\ SpChkForDoc.java
附录5:遗留的问题
这个控件目前只支持IE5.0以上
附录6:对分页控件的扩展(缩略图显示)
由于相册需求的需要,对分页控件进行了简单的扩展,即缩略图显示的方法,具体用法如下:
首先、在原来tabletype的基础上增加thumbnail类型,用以区别缩略图显示还是原来的方式显示,例如:<table pagesize=10 tabletype=” thumbnail”>即每页记录数10,缩略图显示。
其次、需要增加browser的参数设置,用来传递显示缩略图的地址即Servlet地址及参数,例如:<browser imgurl=”/weaver/weaver.docs.docs.ShowDocsImageServlet” linkkey=”docId” linkvaluecolumn=”id” /> 即显示缩略图的Servlet是”/weaver/weaver.docs.docs.ShowDocsImageServlet”,并将列id值作为参数docId传递,所以整个Servlet的URL地址应该是/weaver/weaver.docs.docs.ShowDocsImageServlet?docId=1(即id)
最后、需要在调用标签的地方多加两个参数isShowThumbnail和imageNumberPerRow,用以区别缩略图显示和每行显示图片数,例如:<wea:SplitPageTag tableString=”<%=tableString%>” mode=”run” tableInfo=”<%=tableInfo%>” isShowThumbnail=”1″ imageNumberPerRow=”5″/>即缩略图显示,每行显示5个缩略图。
转载请注明:赫非域 » 泛微分页控件使用帮助及规范