bboss-taglib
Folders and files
Name | Name | Last commit date | ||
---|---|---|---|---|
parent directory.. | ||||
https://github.com/bbossgroups/bbossgroups-3.5.git refs/heads/master https://github.com/bbossgroups/bbossgroups-3.5.git https://github.com/bbossgroups/bboss-cms.git refs/heads/master touch README.md git init git add README.md git commit -m "first commit" git remote add origin https://github.com/bbossgroups/bboss-cms.git git push -u origin master Push an existing repository from the command line git remote add origin https://github.com/bbossgroups/bboss-cms.git git push -u origin master --------------------------------- bboss-tablib关联工程: --------------------------------- bboss-taglib->common_old_dbcp [frameworkset-pool.jar] bboss-taglib->bbossaop [bboss-aop.jar] bboss-taglib->common_old_util [frameworkset-util.jar] bboss-taglib<-cms_baseline [frameworkset.jar] bboss-taglib<-bbossaop [frameworkset.jar] bboss-taglib<-cas server [frameworkset.jar] bboss-taglib<-portal [frameworkset.jar] bboss-taglib<-bboss-ws [frameworkset.jar] #######update function list since bbossgroups-3.6.2 begin########### 标签list、map容器缓冲机制完善 增加对index 和colName的缓存处理 同时SQLParamTag标签页增加charset属性用来指定对应的字符编码集, <pg:sqlparam name="clobdata" value="<%=clobdata %>" type="clobfile" charset="UTF-8"/> 使用的实例如下: <% int object_id = 1; String created = "2010-03-12 12:43:54"; String created1 = "2010-03-13 12:43:54"; String created2 = "2010-03-14 12:43:54"; String created3 = "2010-03-15 12:43:54"; String created4 = "2010-03-18 12:43:54"; java.io.File blobdata = new java.io.File("D:/workspace/bbossgroups-3.5/bboss-taglib/lib/ecs-1.4.2.jar"); java.io.File clobdata = new java.io.File("D:\\bbossgroups-3.5.1\\bboss-taglib\\readme.txt"); String sql = "update sqltest set created=#[created],clobdata=#[clobdata],blobdata=#[blobdata] where object_id=#[object_id]";//多条sql语句操作clob,blob会导致数据库记录行锁定 %> <pg:batchutil dbname="bspf" type="prepared"> <pg:statement sql="<%=sql %>" pretoken="#\\[" endtoken="\\]"> <pg:batch> <pg:sqlparam name="object_id" value="<%=object_id %>" type="int" /> <pg:sqlparam name="created" value="<%=created %>" type="timestamp" /> <pg:sqlparam name="blobdata" value="<%=blobdata %>" type="blobfile" /> <pg:sqlparam name="clobdata" value="<%=clobdata %>" type="clobfile" charset="UTF-8"/> </pg:batch> </pg:statement> </pg:batchutil> #######update function list since bbossgroups-3.6 begin########### o list/map标签增加softparser属性,针对sessionKey、requestKey、pagecontextKey进行classdataList数据对象缓存, 避免重复使用时重复生成数据对象,默认值为true o 解决map标签指定keycolName不起作用的bug o 标签库表达式中增加了currentcell,mapkey两个表达式内置变量,所有表达式内置具体含义如下: rowid:可以在表达式中获取当前记录集的行号,带页面偏移量,前面可带外面集合的索引号,索引号从最外层集合以0开始,依次加1 offset:在表达式中获取当前页面记录的起始位置,分页时有用 rowcount :保存总记录数 pagesize:保存当页显示的最多纪录数 mapkey: 保存map迭代当前的key值 currentcell:保存list/array循环中当前的值 #######update function list since bbossgroups-3.5.1 begin########### o bboss3.6.0分支相对于之前的分支版本(bboss3.5.1分支和master分支)的最大变化为: 更换cms.jar中程序包路径 com.frameworkset为 com.frameworkset.platform 这样就和bboss-cms[https://github.com/bbossgroups/bboss-cms.git]工程保持一致 #######update function list since bbossgroups-3.5 begin########### o cms导航索引样式调整,频道导航调整 o 修复notempty标签当collection集合元素为0时不能正常工作的缺陷 o treedata标签增加rootNameCode属性用来指定树根节点国际化名称 o titile标签增加titlecode属性: <!--标题国际化代码,如果代码在mvc国际化相关配置文件中不存在,则输出code--> <attribute> <name>titlecode</name> <rtexprvalue>true</rtexprvalue> </attribute> o tabPane标签增加tabTitleCode属性 <!-- tabTitleCode:用来指定tab标题的国际化code,如果指定了tabTitleCode属性,那么就从mvc配置的国际化 属性文件中获取对应的国际化代码输出。 如果没有指定相应的code属性,那么输出tabTitle对应的值,如果tabTitle也没有指定则直接则直接输出tabTitleCode属性 --> <attribute> <name>tabTitleCode</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> o 优化COMTree和DataInfoImpl中获取accesscontrol安全访问控制对象的方法,提升性能 o 修改在非jquery模式下index标签设置tagnumber属性后,相应的页码上面没有超链接的bug <pg:index tagnumber="5" sizescope="10,20,50,100"/> o 改进beaninfo,list标签异常处理方式,将系统级异常输出到日志文件中,日志级别为info级 o index标签增加usegoimage属性,为true时跳转到后面将出现go条片按钮,false不出现,默认不出现 标签库:convert标签改进,支持各种类型的key,之前只支持String类型的key,现在支持数字类型的key o cell标签增加encodecount属性,用来指定用utf-8编码输出的次数,有些情况下需要编码2次 使用方法: 首先检查cell标签中是否包含了以下属性定义,如果没有则加到pager-taglib.tld文件中 <attribute> <name>encodecount</name> <rtexprvalue>true</rtexprvalue> </attribute> 使用方法: <a href="<%=request.getContextPath() %>/file/downloadFile.htm?fileName=<pg:cell encode="true" encodecount="2" colName="fileName"/>">下载此文件</a> 服务端控制器方法获取该参数的方法: public @ResponseBody File downloadFile(@RequestParam(decodeCharset="UTF-8") String fileName, HttpServletRequest request) 在RequestParam注解中指定decodeCharset为UTF-8即可 修改程序 CellTag.java o 完善字符过滤器,utf-8编码时,get方式下,在ie浏览器中可以自动识别中文参数,无需在js中escape编码即可解决中文乱码问题 可以在过滤器配置中指定checkiemodeldialog初始化参数为false来禁用该功能,默认值为false,如果要开启则改为true: <filter> <filter-name>encodingFilter</filter-name> <filter-class>com.frameworkset.common.filter.CharsetEncodingFilter</filter-class> <init-param> <param-name>checkiemodeldialog</param-name> <param-value>false</param-value> </init-param> //other init parameters. </filter> o BaseTag和BaseBodyTag实现TryCatchFinally接口 o 逻辑比较标签改进,除了进行字符串比较外还能进行数字比较,只要实际值是数字优先进行数字比较,比较失败后再进行字符串比较 LogicELMatch LogicEUMatch LogicLowerMatch LogicMatchTag LogicNotMatchTag LogicUpperMatch 目前只支持数字和String,日期类型的比较,复杂类型不能使用改方法进行比较 #######update function list since bbossgroups-3.4 begin########### ------2011-12-11------------ o 更新最新的frameworkset-util.jar,cell标签读取的bean的属性不再需要get方法 ------2011-11-20------------ o 调整jquery-1.4.2.min.js的load方法支持数组参数的传递 o 调整pager.js的loadPageContent方法支持数组参数的传递 o 分页参数传递支持map,bean中包含数据参数传递,支持数组参数传递,通过以下标签实现: params标签:<pg:params name="userName" /> beanparams标签:<pg:beanparams name="user"/> 如果要使用这两个标签,需要更新以下程序: /WEB-INF/lib/frameworkset.jar /include/jquery-1.4.2.min.js /include/pager.js 同时需要检查pager-taglib.tld中是否定义了一下params标签和beanparams标签: <!-- 功能说明:为分页列表标签中自动设置的超链接添加参数数组 --> <tag> <name>params</name> <tagclass>com.frameworkset.common.tag.pager.tags.ParamsTag</tagclass> <bodycontent>empty</bodycontent> <attribute> <name>id</name> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>name</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>encode</name> <rtexprvalue>true</rtexprvalue> </attribute> </tag> <!-- 功能说明:为分页列表标签中自动设置的超链接添加参数,参数来自java对象属性或者Map中键值对 --> <tag> <name>beanparams</name> <tagclass>com.frameworkset.common.tag.pager.tags.BeanParamsTag</tagclass> <bodycontent>empty</bodycontent> <attribute> <name>id</name> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>name</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>encode</name> <rtexprvalue>true</rtexprvalue> </attribute> </tag> ------2011-11-18------------ o 增加params,beanparams标签 params:为分页列表标签中自动设置的超链接添加参数数组 beanparams:为分页列表标签中自动设置的超链接添加参数,参数来自java对象属性或者Map中键值对 bean属性可以指定com.frameworkset.common.tag.pager.IgnoreParam注解,beanparams标签会忽略带有 IgnoreParam注解的属性 ------2011-11-2------------ o 修改covert标签空指针异常 #######update function list since bbossgroups-3.3 begin########### ------2011-10-14------------ o 完善convert标签,将值全部转换为字符串,只允许Map对象中存放的数据的key是字符串 o 完善cell标签及其子标签性能,改进使用反射机制的方法 #######update function list since bbossgroups-3.2 begin########### ------2011-08-06------------ o 标签库cell标签,逻辑标签的expression和expressionValue表达式中增加rowcount变量的支持 ------2011-07-31------------ o 增加map和mapkey两个标签,用来循环迭代展示map中的value对象值或者value对象中的数据值以及mapkey值 使用方法如下: <table> <h3>map<String,po>对象信息迭代功能</h3> <pg:map requestKey="mapbeans"> <tr class="cms_data_tr"> <td> mapkey:<pg:mapkey/> </td> <td> id:<pg:cell colName="id" /> </td> <td> name:<pg:cell colName="name" /> </td> </tr> </pg:map> </table> <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> ------2011-07-19------------ o cell标签提供actual属性,可以直接输出改属性设定的值,值可以为el表达式的值 ------2011-07-13------------ o 修改empty和notempty两个逻辑标签增加对Collection和Map对象的为empty判断支持 o 修改rowcount标签,去除多余的空格 o 完善标签排序功能补丁 增加相应的指示箭头,标识升序和降序 相关文件 /bboss-mvc/WebRoot/include/pager.css WebRoot\WEB-INF\lib\frameworkset.jar 具体的使用方法参考《基于基础框架开发约定.doc》中的章节3.5 分页字段排序设定 #######update function list since bbossgroups-3.1 begin########### ------2011-06-04------------ o 逻辑标签可以独立于list和beaninfo标签使用,增加以下属性: <attribute> <name>requestKey</name> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>sessionKey</name> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>pageContextKey</name> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>parameter</name> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>actual</name> <rtexprvalue>true</rtexprvalue> </attribute> 通过以上属性,可以方便地制定逻辑标签的期望值, requestKey:指定从request的attribute属性中获取实际值, sessionKey:指定从session的attribute属性中获取实际值, pageContextKey:指定从pageContext的attribute属性中获取实际值, parameter:指定从request的parameter中获取实际值 actual:直接指定实际值,可以是具体的值,也可以是一个el变量 上述属性还可以和property属性结合起来获取值对象中的属性值 ------2011-06-04------------ o request和session标签增加日期dateformat格式属性 ------2011-06-03------------ o 修复config标签enablecontextmenu属性不能正常工作的漏洞 ------2011-05-26------------ o 新增empty和notempty两个逻辑标签使用方法和null、notnull一样 empty判断指定的字段的值是否是null,或者空串,如果条件成立,则执行标签体中的逻辑 notempty判断指定的字段的值既不是null也不是空串,则执行标签体得内容 ------2011-05-24------------ o 修改null和notnull标签不能正确工作的问题 o 修复detail标签的提示信息不是很正确的问题; #######update function list since bbossgroups-3.1 end########### #######update function list since bbossgroups-3.0 begin########### to do list: 逻辑标签通用化,不局限与list标签中使用 运行标签库的最小依赖包整理 ------2011-04-25------------ o 修改字符串过滤器,解决jquery或者ajax数据请求时,分页查询的中文乱码问题,改进字符串过滤器的性能 ------2011-04-20------------ o 新增convert标签,支持字典数据值向名称的转换 其中的datas为一个map属性映射值,name对应于key,convert标签通过name获取到对应的属性值 然后显示到页面上,如果对应的值没有那么输出defaultValue对应的值,如果没有设置defaultValue 那么直接输出name。 <pg:convert convertData="datas" colName="name" defaultValue=""/> pager-taglib.tld frameworkset.jar ------2011-04-18------------ o 解决主页面通过ajax方式加载多个分页页面时,跳转功能不能正常使用的问题 pager.js frameworkset.jar ------2011-04-14------------ o mvc中传递给分页标签的路径修改为带上下文的绝对地址,以免主页面的相对地址和分页对应的页面的相对路径不一致时,不能分页 ------2011-03-24------------ o 修复mvc实现分页功能时,通过handleMapping注解指定的url路径无法进行分页的bug,修改的程序如下: 修复之前 com.frameworkset.common.tag.pager.tags.PagerContext public static String getPathwithinHandlerMapping(HttpServletRequest request) { return (String) request .getAttribute("org.frameworkset.web.servlet.HandlerMapping.pathWithinHandlerMapping"); } 修复之后 com.frameworkset.common.tag.pager.tags.PagerContext public static String getPathwithinHandlerMapping(HttpServletRequest request) { String urlpath = (String) request .getAttribute("org.frameworkset.web.servlet.HandlerMapping.pathWithinHandlerMapping"); if(urlpath != null && urlpath.startsWith("/") ) { urlpath = request.getContextPath() + urlpath; } return urlpath; } ------2011-03-20------------ o 改进右键菜单功能,提升右键菜单性能,涉及的功能有:使用右键菜单的树标签和使用右键菜单的列表、分页标签,以及所有其他相关的页面 修改的程序有: 1.bboss-tablib/src/com/frameworkset/common/tag/contextmenu/ContextMenuTag.java 2./bboss-tablib/webapp/WEB-INF/templates/contextmenu/popscript.vm 3.jar包:frameworkset.jar ------2011-03-06------------ o 修复树标签复选框点击事件firefox兼容性问题 o 修复树标签默认选中节点上面设置点击事件时Boolean值向String转换异常问题 ------2011-03-06------------ o list 和cell标签组合对String和数字、日期列表数据进行输出 #######update function list since bbossgroups-3.0 end########### ------------------------------------------------------------------ update function list in bbossgroups-2.0-rc2 since bbossgroups-2.0-rc1 ------------------------------------------------------------------ 2011-02-12 ------------------------------------------------------------------ o 分页标签与mvc框架结合,通过mvc的控制器方法直接可以给分页标签提供数据 o 增加notcontain这notmatch两个正则表达式逻辑判断标签,和contain、match两个逻辑判断标签的功能相反 ------------------------------------------------------------------ 2010-09-03 ------------------------------------------------------------------ 。com.frameworkset.common.tag.pager.ObjectDataInfoImpl对象没有实现以下方法: public long getItemCount() public int getDataSize() 导致调用时抛出异常。 实现上述两个方法后,功能正常。 ------------------------------------------------------------------ 2010-09-03 ------------------------------------------------------------------ o 分页标签增加设置页面size功能,火狐浏览器兼容性修改 修改程序: frameworkset.jar /bboss-tablib/src/com/frameworkset/common/tag/pager/tags/IndexTag.java /bboss-tablib/src/com/frameworkset/common/tag/pager/tags/PagerContext.java /bboss-tablib/src/com/frameworkset/common/tag/pager/tags/PagerDataSet.java /bboss-tablib/src/com/frameworkset/common/tag/pager/tags/PagerTag.java /bboss-tablib/webapp/include/pager_custom.js /bboss-tablib/webapp/include/pager.js 标签定义文件/bboss-tablib/webapp/WEB-INF/pager-taglib.tld为index标签添加sizescope属性 <!-- 设置页面显示记录范围,默认为 "5","10","20","30","40","50","60","70","80","90","100" 用户可以自定义这个范围,以逗号分隔即可 如果在pager标签和list标签上指定的maxPageItems属性对应的页面记录条数不在sizescope范围中,那么 将把maxPageItems作为第一个选项加入到sizescope中 --> <attribute> <name>sizescope</name> <rtexprvalue>true</rtexprvalue> </attribute> 使用jquery相关的样式,表格的鼠标移动与点击样式: table_gray表格样式 .table_gray{ border:1px solid #4eadf7; border-collapse:collapse; } .table_gray td{ border:1px solid #4eadf7; border-collapse:collapse; text-align: center; } .table_gray thead td{ background-color:#7cc5fa; font-size:12px; font-weight:bold; } .table_gray .down{ background:url(images/th_down.png) right no-repeat; padding-right:6px; } .table_gray .updown{ background:url(images/th_updown.png) right no-repeat; padding-right:6px; } //奇数行样式 .space_color{ background-color:#d7edfd; } //光标移动到的行样式 tr.highlight { background: #C8F3FB; } //行选中的样式 tr.selected { background: #FF8C05; color: #fff; ------------------------------------------------------------------ 2010-09-01 ------------------------------------------------------------------ o 修改过滤器com.frameworkset.common.filter.CharacterEncodingHttpServletRequestWrapper,解决特定情况下中文乱码 比如: 发起请求:http://localhost:8080/test/test.jsp?key=多多 先执行以下语句 String values[] = request.getParameterValues("key");//得到的values为中文数组:{"多多"} 然后再执行以下语句 String values = request.getParameter("key");//得到的值为中文乱码 ------------------------------------------------------------------ update function list in bbossgroups-2.0-rc since bbossgroups-1.0 ------------------------------------------------------------------ 2010-07-31 ------------------------------------------------------------------ o 增加菜单项禁用的提示功能 ------------------------------------------------------------------ update function list in bbossgroups-1.0 ------------------------------------------------------------------ o pager标签库中 新增csslink标签和jscript标签,config标签 通过csslink标签导入的css文件能够自动去重功能,也就是避免在页面上重复导入同一个css文件 通过jscript标签导入的js文件能够自动去重功能 ,也就是避免在页面上重复导入同一个js文件 通过congfig标签默认导入页面js和css文件(能够自动去重功能 ,也就是避免在页面上重复导入以下js,css文件): /include/pager.js /include/jquery-1.4.2.min.js /include/treeview.css /include/themes/default/easyui.css /include/themes/icon.css /include/jquery.easyui.min.js 使用方法: <pg:csslink src="contextpath/ccc.css"/> <pg:jscript src="contextpath/ccc.js"/> <pg:config/> firefox兼容性问题修改: o 修改tabs.js文件,修复tabpane在火狐下的问题,火狐下不支持直接以id.attrname的方式获取属性值 o tree标签: /bboss-tablib/src/com/frameworkset/common/tag/tree/impl/NodeHelper.java o 右键菜单 解决右键菜单在firefox浏览器下无法正常显示问题 解决无法展示多级右键菜单的问题 改进右键菜单添加接口如下: Menu menu = new Menu(); menu.addContextMenuItem(Menu.MENU_OPEN); menu.addContextMenuItem(Menu.MENU_EXPAND); menu.addContextMenuItem("添加","javascript:edit('添加')",Menu.icon_edit); menu.addSeperate(); menu.addContextMenuItem("编辑编辑编辑编辑","javascript:edit('编辑')",Menu.icon_add); Menu.ContextMenuItem sitemenuitem2 = menu.addContextMenuItem("sitemenuitem2","javascript:edit('sitemenuitem2')",Menu.icon_ok); sitemenuitem2.addSubContextMenuItem("子menusubmenuitem_","javascript:edit('子menusubmenuitem_')",Menu.icon_ok); sitemenuitem2.addSubContextMenuItem("子cut","javascript:edit('子cut')",Menu.icon_cut); sitemenuitem2.addSubContextMenuItem("子icon_back","javascript:edit('子icon_back')",Menu.icon_back); sitemenuitem2.addSubContextMenuItem("子icon_cancel","javascript:edit('子icon_cancel')",Menu.icon_cancel); sitemenuitem2.addSubContextMenuItem("子icon_help","javascript:edit('子icon_help')",Menu.icon_help); sitemenuitem2.addSubContextMenuItem("子icon_no","javascript:edit('子icon_no')",Menu.icon_no); sitemenuitem2.addSubContextMenuItem("子icon_print","javascript:edit('子icon_print')",Menu.icon_print); sitemenuitem2.addSubContextMenuItem("子icon_redo","javascript:edit('子icon_redo')",Menu.icon_redo); sitemenuitem2.addSubContextMenuItem("子icon_reload","javascript:edit('icon_reload')",Menu.icon_reload); sitemenuitem2.addSubContextMenuItem("icon_remove","javascript:edit('icon_remove')",Menu.icon_remove); sitemenuitem2.addSubContextMenuItem("icon_save","javascript:edit('icon_save')",Menu.icon_save); sitemenuitem2.addSubContextMenuItem("icon_search","javascript:edit('icon_search')",Menu.icon_search); sitemenuitem2.addSubContextMenuItem("icon_undo","javascript:edit('icon_undo')",Menu.icon_undo); ContextMenuItem third = sitemenuitem2.addSubContextMenuItem("第二层","javascript:edit('icon_undo')",Menu.icon_undo); third.addSubContextMenuItem("三层", "javascript:edit('icon_undo')",Menu.icon_undo); ---------------------------------------- 1.0.2 - 2010-4-22 ---------------------------------------- o cell标签改造 支持long型的字段直接转换为java.util.Date类型 ---------------------------------------- 1.0.2 - 2010-4-22 ---------------------------------------- o bug修改 bug 1 jquery特殊字符转义 /bboss-tablib/webapp/include/pager.js /bboss-tablib/webapp/WEB-INF/templates/tree.vm var ret = object.replace(/:/g,"\\:"); ret = ret.replace(/\./g,"\\."); bug 2 采用jquery后,当树中只有一个节点,并且不展示根节点时,生成的树脚本中多生成了一个</div> ---------------------------------------- 1.0.2 - 2010-4-15 ---------------------------------------- o 脚本控制调整 /cms_baseline/sourcecode/cms/WebRoot/WEB-INF/templates/contextmenu/popmenu.vm /bboss-tablib/src/com/frameworkset/common/tag/contextmenu/ContextMenuTag.java /bboss-tablib/src/com/frameworkset/common/tag/pager/config/PageConfig.java /bboss-tablib/src/com/frameworkset/common/tag/pager/tags/IndexTag.java /bboss-tablib/src/com/frameworkset/common/tag/tree/impl/NodeHelper.java /bboss-tablib/src/com/frameworkset/common/tag/tree/impl/TreeTag.java ---------------------------------------- 1.0.2 - 2010-4-14 ---------------------------------------- o 标签库jquery改造,右键菜单修改:creatorcim还未同步 /bboss-tablib/src/com/frameworkset/common/tag/pager/config/PageConfig.java /cms_baseline/sourcecode/cms/WebRoot/include/pager.js /cms_baseline/sourcecode/cms/WebRoot/WEB-INF/templates/contextmenu/parentpopmenu.vm /cms_baseline/sourcecode/cms/WebRoot/WEB-INF/templates/contextmenu/popmenu.vm /cms_baseline/sourcecode/cms/WebRoot/WEB-INF/templates/contextmenu/popscript.vm /cms_baseline/sourcecode/cms/WebRoot/WEB-INF/templates/tree.vm /cms_baseline/sourcecode/cms/WebRoot/WEB-INF/pager-taglib.tld /bboss-tablib/src/com/frameworkset/common/tag/pager/tags/IndexTag.java ---------------------------------------- 1.0.2 - 2010-3-11 ---------------------------------------- o 分页跳转排序排序bug修复,sorkey为null时,添加了如下格式的参数:sortkey=null,进行判断后不加就可以 /bboss-tablib/src/com/frameworkset/common/tag/pager/tags/IndexTag.java /bboss-tablib/webapp/include/pager.js o 修改树标签递归选择bug 向上递归 向下递归 向上部分递归 /WEB-INF/templates/tree.vm o pager标签jquery改造 导航链接全部需要改造为jquery模式 title排序链接改造为jquery模式 增加jquery查询模式标签组(未完成) 相关的文件: /bboss-tablib/webapp/WEB-INF/pager-taglib.tld /bboss-tablib/webapp/include/pager.js /bboss-tablib/src/com/frameworkset/common/tag/pager/tags/IndexTag.java /bboss-tablib/src/com/frameworkset/common/tag/pager/tags/PagerDataSet.java /bboss-tablib/src/com/frameworkset/common/tag/pager/tags/PagerContext.java /bboss-tablib/src/com/frameworkset/common/tag/pager/tags/PagerTag.java /bboss-tablib/src/com/frameworkset/common/tag/pager/tags/TitleTag.java /bboss-tablib/src/com/frameworkset/common/tag/pager/config/PageConfig.java o 树标签prototype.js迁移到jquery 修改文件/creatorcim/cimconsole/WEB-INF/templates/contextmenu/popmenu.vm,由prototype.js换到jquery 内容<script language="javascript" src="${contextpath}/include/jquery-1.4.2.min.js"></script> 修改/WEB-INF/templates/tree.vm模板文件将所有的prototye内容替换为jquery内容 新增程序标签config com.frameworkset.common.tag.pager.config.PageConfig /bboss-tablib/webapp/WEB-INF/pager-taglib.tld增加以下标签配置 <tag> <name>config</name> <tagclass>com.frameworkset.common.tag.pager.config.PageConfig</tagclass> <bodycontent>JSP</bodycontent> </tag> 页面引用方法:<pg:config/>,标签执行后输出以下内容: <script src="/cimconsole/include/jquery-1.4.2.min.js" type="text/javascript"></script> <link rel="stylesheet" type="text/css" href="/cimconsole/include/treeview.css"/> 修改程序 /bboss-tablib/src/com/frameworkset/common/tag/tree/impl/ListNodeHelper.java /bboss-tablib/src/com/frameworkset/common/tag/tree/impl/NodeHelper.java /bboss-tablib/src/com/frameworkset/common/tag/tree/impl/TreeTag.java 屏蔽prototype脚本的投放,改为投放以下脚本: <script src="/cimconsole/include/jquery-1.4.2.min.js" type="text/javascript"></script> <link rel="stylesheet" type="text/css" href="/cimconsole/include/treeview.css"/> //NodeHelper.getPrototypeScript(ret,request.getContextPath()); //jquery // if(!this.enablecontextmenu) //jquery // NodeHelper.getPrototypeScript(ret,request.getContextPath()); <a firsted="true" name="icon_root" 修改为<a firsted="true" id="icon_root" 修改tree标签增加jquery属性 <!-- 是否jquery装载,true-是,false-不是 默认值:false; 为false时,标签库将自动为页面引入以下样式和脚本,否则不导入 <script src="/cimconsole/include/jquery-1.4.2.min.js" type="text/javascript"></script> <link rel="stylesheet" type="text/css" href="/cimconsole/include/treeview.css"/> true时,上述样式和脚本将通过外部导入 --> <attribute> <name>jquery</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> o 新增执行数据库预编译模板操作相关标签 dbutil-执行数据库增、删、改操作(预编译和普通) sqlparams-用于支持在pager标签,beaninfo标签,list标签上执行预编译操作的绑定变量集合,同时可以指定sql绑定变量的定义语法分界符。 batchutil-执行预编译批处理、普通批处理操作 statement-指定batchutil要执行的批处理语句,可以是预编译sql语句,也可以是普通sql语句 batch-指定statement指定的预编译sql语句的一组绑定变量 sqlparam-用来指定预编译操作的sql绑定变量参数的值、数据类型、数据格式,只能内置在dbutil,sqlparams,statement,batch三个标签中。 dbutil标签的属性说明如下: statement:指定要执行的sql语句,可以普通sql语句,也可以是带绑定变量的sql模板语句,必须要写的属性 dbname:指定数据库连接池名称,可选属性,默认为poolman中配置的第一个连接池 pretoken:指定预编译sql语句的绑定变量定义前置分界符,必须与后置分界符endtoken一起指定。可选属性,默认为#[ endtoken:指定预编译sql语句的绑定变量定义后置分界符,必须与前置分界符pretoken一起指定。可选属性,默认为] action:指定sql对应数据库操作类型,包括:delete,insert,update,必填选项 result:指定数据库操作结果存储变量的名称,可选属性,默认值变量名称为:dbutil_result sqlparams标签属性说明如下: pretoken:指定预编译sql语句的绑定变量定义前置分界符,必须与后置分界符endtoken一起指定。可选属性,默认为#[ endtoken:指定预编译sql语句的绑定变量定义后置分界符,必须与前置分界符pretoken一起指定。可选属性,默认为] sqlparamskey:指定将参数存储在request 属性集中的变量名称,用来和pager,beaninfo,list标签设置好模板sql的绑定变量参数值 sqlparams必须和pager,beaninfo,list标签一起使用 batchutil标签属性说明如下: dbname-批处理操作对应的数据库连接池的名称,可选属性,默认为poolman中配置的第一个连接池 type-批处理操作类型,取值范围common,prepared,可选属性,默认值为prepared batchOptimize-优化预编译批处理操作控制变量 statement标签属性说明如下: sql-指定批处理的sql语句,可以使预编译sql语句和普通sql语句 pretoken-指定预编译sql语句的绑定变量定义前置分界符,必须与后置分界符endtoken一起指定。可选属性,默认为#[ endtoken-指定预编译sql语句的绑定变量定义后置分界符,必须与前置分界符pretoken一起指定。可选属性,默认为] sqlparam 属性说明: name:绑定变量名称,必须和预编译sql模板中的变量名称保持一致,必选项 value:变量值,必选项 type:变量类型,可选项,默认值为string,对应的取值范围如下: bigdecimal boolean byte byte[] date double float int long short string time timestamp blob clob blobfile clobfile dataformat:数据格式,主要用来指定日期类型(date,time,timestamp)的存储格式 特别说明: 这pretoken 、endtoken两个属性主要用来支撑在标签预编译查询功能时定义sql语句变量的语法 例如: pretoken = "#\\[" endtoken = "\\]" 上面的变量值就是默认的变量分界符,开发人员可以指定自己的分界符 后续将要实现的功能: 增加存储过程,函数执行标签 使用实例,参考测试用例: beaninfo:/bboss-tablib/webapp/pager/testDetailTag_prepareddb.jsp list:/bboss-tablib/webapp/pager/testListPagertag_prepareddb.jsp pager:/bboss-tablib/webapp/pager/testPagerTag_prepareddb.jsp dbutil: 新增-/bboss-tablib/webapp/pager/testPagerTag_preparedInsert.jsp 删除-/bboss-tablib/webapp/pager/testPagerTag_preparedDeletedb.jsp 更新-/bboss-tablib/webapp/pager/testPagerTag_preparedUpdatedb.jsp batchutil: 普通批处理操作-/bboss-tablib/webapp/pager/testPagerTag_batchdb.jsp 预编译批处理操作-/bboss-tablib/webapp/pager/testPagerTag_preparedbatchdb.jsp o 扩展分页,列表,详细信息页面直接设置statement执行数据库查询功能,增加预编译查询方式 o beaninfo标签,pager标签,list标签增加以下属性: sqlparamskey:指定将绑定变量参数存储在request 属性集中的变量名称,以便pager,beaninfo,list标签获取sql的绑定变量参数值 上述功能相关的文件: /bboss-tablib/webapp/WEB-INF/pager-taglib.tld frameworkset.jar frameworkset-pool.jar frameworkset-util.jar bboss-aop.jar ---------------------------------------- 1.0.2 - 2010-1-7 ---------------------------------------- o 增加ant构建脚本:build.xml,build.properties o 增加标签库测试用例war应用webapp目录 o 增加distrib目录存放发布后的相关文件 ---------------------------------------- 1.0.2 - 2010-1-4 ---------------------------------------- o 添加tabpane标签库源码目录 o 树标签库treetag.tld中新增标签query,定义如下: <!-- 实现树标签的查询功能,适用于静态树和动静结合的树 只能查找已经展示出来的树节点 --> <tag> <name>query</name> <tagclass>com.frameworkset.common.tag.tree.impl.QueryTag</tagclass> <bodycontent>JSP</bodycontent> <!-- rootid:指定树的根节点id,默认值为0,对应于treedata的rootid属性值 --> <attribute> <name>rootid</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <!-- templatepath:输出查询框、查询按钮的velocity模板脚本文件路径,相对于velocity模板文件夹的根目录 例如:模板目录为d:/templates/treequery.vm,那么templatepath的值就为treequery.vm --> <attribute> <name>templatepath</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> </tag> 使用方法: <tree:query/> <!-- rootid默认为0,templatepath默认为treequery.vm --> <tree:query rootid="0"/> <!-- templatepath默认为treequery.vm --> <tree:query templatepath="treequery.vm"/> <!-- rootid默认为0 --> <tree:query rootid="0" templatepath="treequery.vm"/> 2009.12.7 --------------------------------------------------------------------------------- o 修改index标签,增加页面范围设置 <!-- 中间页面样式名称 --> <attribute> <name>classname</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <!-- 展示的中间页面数,默认为-1,即不展示中间页 --> <attribute> <name>tagnumber</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <!-- 中间页扩展属性 --> <attribute> <name>centerextend</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> 修改的程序 WebRoot/WEB-INF/pager-taglib.tld /bboss-taglib/src/com/frameworkset/common/tag/pager/tags/IndexTag.java 使用方法:<pg:index tagnumber="10"/> o 修改index标签添加以下属性: <!-- 控制页面是使用pager.js还是pager_custom.js 为true时使用pager_custom.js,这时要求页面上要有以下form表单: <form name="com.frameworkset.goform" method="post"></form> 为false时使用pager.js 本属性的默认值为false --> <attribute> <name>custom</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <!-- 导航按钮是否使用图片,默认值为false 只有useimage=true时,imagedir和imageextend才起作用 如果useimage=true时,没有指定imagedir和imageextend属性,那么采用默认属性 使用方法 <pg:index useimage="true" imagedir="/include/images" imageextend=" border=0 " tagnumber="-1"/> --> <attribute> <name>useimage</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <!-- 导航按钮图片存放目录,存放的图片名称为: first.gif-首 页 next.gif-下一页 pre.gif-上一页 last.gif-尾 页 默认值为:/include/images --> <attribute> <name>imagedir</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <!-- 导航图片的扩展属性串,默认值为:" border=0 " --> <attribute> <name>imageextend</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> 修改的程序 WebRoot/WEB-INF/pager-taglib.tld /bboss-taglib/src/com/frameworkset/common/tag/pager/tags/IndexTag.java 升级方法 --------------------------------------------------------- 1.在pager-taglib.tld的index标签中添加以下属性: <tag> <name>index</name> 。。。。。 <!-- 控制页面是使用pager.js还是pager_custom.js 为true时使用pager_custom.js,这时要求页面上要有以下form表单: <form name="com.frameworkset.goform" method="post"></form> 为false时使用pager.js 本属性的默认值为false --> <attribute> <name>custom</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <!-- 导航按钮是否使用图片,默认值为false 只有useimage=true时,imagedir和imageextend才起作用 如果useimage=true时,没有指定imagedir和imageextend属性,那么采用默认属性 使用方法 <pg:index useimage="true" imagedir="/include/images" imageextend=" border=0 " tagnumber="-1"/> --> <attribute> <name>useimage</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <!-- 导航按钮图片存放目录,存放的图片名称为: first.gif-首 页 next.gif-下一页 pre.gif-上一页 last.gif-尾 页 默认值为:/include/images --> <attribute> <name>imagedir</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <!-- 导航图片的扩展属性串,默认值为:" border=0 " --> <attribute> <name>imageextend</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <!-- 中间页面样式名称 --> <attribute> <name>classname</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <!-- 展示的中间页面数,默认为-1,即不展示中间页 --> <attribute> <name>tagnumber</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <!-- 中间页扩展属性 --> <attribute> <name>centerextend</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> ....... </tag> 2. 将IndexTag.class类放入frameworkset.jar的路径:com\frameworkset\common\tag\pager\tags 替换原来类即可 --------------------------------------------------------------------------------------------- bboss taglib v1.0.1 2009.10.13 --------------------------------------------------------------------------------------------- o 增加aop框架配置 Adding: bboss-taglib\lib\bboss-aop.jar application/octet-stream Adding: bboss-taglib\lib\bboss-event.jar application/octet-stream Modified: bboss-taglib\lib\frameworkset-pool.jar 2009.01.08 ------------------------------------------------------------------------- fixed bug 1#: dataSet is null exception.beaninfo tag's stack is same as the dataset(list tag).cms outline tag use the same stack as list tag. 解决变量dataSet的值没有正确设置的问题, this.removeVariable();方法必须在recoverParentDataSet();之前调用 declare属性说明: declare用来控制,是否声明新的dataSet变量和rowid变量,用在list嵌套使用的情况。 标签库中始终会声明这些变量