目前团队里使用subversion做版本控制,bugfree做缺陷管理。参照官方的做法实现了bugfree和svn的整合。
我为每个项目都设置了单独的svn仓库,这样在用viewvc浏览版本库时要指定root查询参数才能访问每个项目的代码库。因此我修改了bugfree官方提供的钩子脚本和向bugfree提交svn信息的php脚本,加入了对root查询参数的支持。具体改动见附件。
另外,为了维护方便,我在每个项目的hooks目录里做一个到钩子脚本的软链接,这样就只需维护一个钩子脚本文件了。
使用Maven进行Java的web开发,Jetty Plugin是必不可缺的插件,可以极大的提到开发效率。但在Windows环境下会遇到静态文件(html、css、js)被锁定、无法即时更新的问题。要想更新这些文件,只能先停掉Jetty,保存修改,再启动Jetty,非常不方便。
解决办法是这样的:
1、从jetty.jar中解出webdefault.xml(位于org.mortbay.jetty.webapp包下)这个文件,把这个useFileMappedBuffer参数设为false
2、把修改后的webdefault.xml文件跟pom.xml放在一起
3、修改pom.xml里的Jetty Plugin的配置,加入
借助iText和Adobe Acrobat的Javascript支持,可以实现PDF文档的自动打印(可以做到不显示打印对话框)
代码说明:
1、pdfStream是用iText生成的PDF文档字节流
2、script是要加入到PDF文档里的Javascript代码。这段Javascript代码先调用PDF文档对象的print方法,然后用closeDoc方法关闭文档。print方法的参数指定了不要显示打印对话框,参数含义参考Acrobat JavaScript Scripting Reference
3、bos用来保存加入Javascript后的PDF文档字节流,它作为PdfStamper对象的输出流。PdfStamper对象调用addJavaScript方法将Javascript代码加入到PDF文档中。
Web页面嵌入PDF文档:
使用Artifactiry为自己的开发团队设立了repository镜像。有时需要把本地的一些第三方的jar包发布到服务器,使用maven-deploy-plugin的deploy:deploy-file目标可以完成这个任务。
比如,要发布jta的jar包jta-1.0.1B.jar
说明:
参考:
1. 使用MySQL数据库
1.1 使用UTF-8字符集
同时,my.cnf里在client一节加入 default-character-set = utf8
1.2 使用InnoDB类型的表
修改my.cnf,mysqld一节加入 default-storage-engine=INNODB
1.3 自身外键关联
使用InnoDB类型的表,tg-admin sql drop 时会遇到由于外键约束而无法删除的问题,可以改用MyISAM类型的表。tg-admin sql create时会有警告:
2. SQLObject
2.1 MultipleJoin最好指定joinColumn
3. Kid模板
3.1 用defined(varname) 可以判断一个变量是否存在于模板中,value_of则可以指定变量不存在时的默认值
3.2 results.count()可以得到查询结果集的大小
3.3 根据条件输出不同的内容 ${condition and ‘a’ or ‘b’}
比如交替表格中行的背景色
在select的option标签里输入selected属性