无限级的业务回滚
项目非常大,这次来的十几个人只是为做个前期demo,项目基于J2EE,用的是经典的spring+hibernate+struts,不过在需求中要求支持无限级的业务回滚,即所有的数据库删除和修改操作并不是真正的删除修改,而是置为无效状态后插入新的纪录。大家经过多次技术论证后不得不抛弃了Hibernate,改为spring自带的ORM,自行设计完成DAO层,并实现自定义的DAO层操作日志。
本来我是给项目经理建议使用WebWork或JSF作MVC,在页面中大量使用JSTL标签,但鉴于其他程序员对新技术的学习和熟悉程度,最终决定在项目中纯粹的使用大家都较熟悉的struts。简单的CRUD完全可以通过struts完成,复杂的页面表示则尽量提取出公共模块并封装成自定义标签,这样在JSP页面中几乎看不见一行java代码,页面非常非常的干净。对于一些更为复杂、服务端交互较频繁的业务则用AJAX来完成提取数据,AJAX我用了DWR,这玩艺的确好使,对于java程序员也非常容易上手。遗憾的是基于AJAX的页面上的复杂操作,包括页面UI效果和DOM操作等等并没有找到一个让我满意的框架,就是最火的dojo和script.aculo.us似乎也不能达到我理想的效果,无奈下javascript的技术选型我只用了prototype这个底层框架,再高一层的UI效果全部手动写了。
没有评论:
发表评论