一、ireport,报表
内置的版本是3.7,最新版本是5.6(15年2月)
内置的3.7版本包含的jar:
commons-collections.jar
groovy-all-1.5.5.jar
iText-2.1.0.jar
iTextAsian.jar
jasperreports-3.7.0.jar
jasperreports-fonts-3.7.0.jar
jaxen-1.1.1.jar
png-encoder-1.5.jar
最新5.6版本包含的jar:
commons-collections-3.2.1.jar //替换后,提示:读取资源文件g4.proerty出错,StartUp.java第16行。不能替换
groovy-all-2.0.1.jar
iText-2.1.7.js2.jar
iTextAsian.jar
jasperreports-5.6.0.jar
jasperreports-fonts-5.6.0.jar
jaxen-1.1.1.jar //与3.7一样,无需替换
png-encoder-1.5.jar //与3.7一样,无需替换
解决了 输出准考证(一页6个),自动换行、换页的问题
二、ibats
1、
2、网摘
ibatis经验 http://www.cnblogs.com/eugenewu0808/archive/2011/03/18/1987668.html
Mybatis/Ibatis,数据库操作的返回值 http://blog.csdn.net/gaojinshan/article/details/24308313
insert,返回值是:新插入行的主键(primary key);需要包含<selectKey>语句,才会返回主键,否则返回值为null。
update/delete,返回值是:更新或删除的行数;无需指明resultClass;但如果有约束异常而删除失败,只能去捕捉异常。
queryForObject,返回的是:一个实例对象或null;需要包含<select>语句,并且指明resultMap;
queryForList,返回的是:实例对象的列表;需要包含<select>语句,并且指明resultMap;
iBatis insert操作陷阱 http://lavasoft.blog.51cto.com/62575/114747/
在保存数据方面,iBatis的insert方法返回的是新增记录的主键,类型为Object,但实为整数数字型,有时候会让人误解为实体类型,也并非任何表的insert操作都会返回主键----这是一个陷阱。
要返回这个新增记录的主键,前提是表的主键是自增型的,或者是Sequence的。否则获取新增记录主键的值为0或者null。
3、不能为元素类型 "delete" 声明属性 "resultClass"
<!-- 删除-->
<delete id="delRegisters" parameterClass="string" resultClass="int">
delete from csstu where stuid in($strChecked$)
</delete>
不加resultClass则不报错。网上说是因为:。。。must be declared 应该是 must not be declared。。。
---------包括del、update、insert都不能加resultClass
---------resultClass在iBatis3中已经被换成了resultType
4、xml中的sql语句,对数据库字段不区分大小写,对接受的表单字段区分大小写
5、xml中,isNull用于判断参数是否为Null,isEmpty判断参数是否为Null或者空(包含了isNull?)
6、xml中,parameterClass的string和java.lang.String一样
7、g4dao.insert返回值为void,如需要返回插入记录的条数,可用g4dao.update代替
8、sqlmap/xxx.xml的sql语句中:字段的大小写与DB中实际字段的大小写 无关系;无论字段的大小写,js文件中取数据时都要用小写字段名;sql中的参数名与js中的组件名,大小写要一致
三、jxl,操作excel
内置的版本不详(05、07年),升级为最新版2.6.12(也可能是最后一版,08、09年的,不支持xlsx)
解决了 个别列输出字体大小与设置的不符
先替换jxl.jar即可,再修改org.g4studio.core.web.report.excel.ExcelFilter.java
//WritableWorkbook wwb = Workbook.createWorkbook(bos, wb); //修改为最后一行
WorkbookSettings settings = new WorkbookSettings (); <span style="font-family: Arial, Helvetica, sans-serif;">//添加</span>
settings.setWriteAccess(null); <span style="font-family: Arial, Helvetica, sans-serif;">//添加</span>
WritableWorkbook wwb = Workbook.createWorkbook(bos, wb ,settings);
否则,根据模板生成excel时会出错:
OH,MY GOD! SOME ERRORS OCCURED! AS FOLLOWS.基于模板生成可写工作表出错了!>
java.lang.ArrayIndexOutOfBoundsException
参考:使用JXL生成Excel时发生java.lang.ArrayIndexOutOfBoundsException错误 http://blog.csdn.net/deng11342/article/details/7479136
问题:
下载的文件名不能有空格,否则文件名是乱码
一个单元格内不能输出多个内容,如字符串+变量
四、fusioncharts
flash图表,有免费版和收费版,官网:www.fusioncharts.com
旧版本是 js调用各种图形的swf,新版本是 在jsp里用标记语言 调用 jar(动态生成swf?)----无法升级
历史版本:http://www.fusioncharts.com/version-history/
各种图形组件的比较:http://www.fusioncharts.com/javascript-charting-comparison/
五、JSON
1、json-lib-2.3-jdk15
http://json-lib.sourceforge.net/ 最后更新2010年----?