-
Notifications
You must be signed in to change notification settings - Fork 198
/
readme.txt
1005 lines (873 loc) · 40.5 KB
/
readme.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
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的值没有正确设置的问题,