1.首先简要介绍一下出现的问题的环境
jdk1.6+strut2.0.11.1+Spring2.5+hibernate3.2.6.ga
使用了SpringOpenEntityManagerInViewFilter作为lazyloading.
2.问题出现的步骤和相关代码
主要问题:在action的某个方法中执行完添加数据的操作(insert)后返回success后跳转到添加页面后莫名其妙的又执行了一个update操作,把我插入数据库的数据给修改了.
代码如下
进入添加页面前的action方法
public String contractorsaSignup() throws Except ...
折腾了几天struts2框架,发现其对校验的支持不是很好,主要体现在如下几点
1.灵活性差
只有theme为xhtml和css_xhtml的时才能够启用纯客户端的js验证.
一般用户对页面UI表示都有一定的要求,当theme为xhtml或css_xhtml的时候会导致页面的排版和用户的UI要求不一致,而且几乎无法解决该问题.并且struts2纯js客户端的错误信息是利用动态添加一个tr来显示的.这就导致如果我想把错误和表单显示在同一行,利用struts2的客户端验证就很难做到.
2.默认支持的校验类型比较少.
struts2默认只支持比较少的几种验证类型例如
* required valida ...
由于以前做的项目都是采用后发制人式的思维,碰到需要什么了再写什么代码.
比如说一个CRUD,一般都是先写出一个简单的框框,碰到需要分页了就加入分页组件,碰到需要校验了就加入校验的支持.
这样的写法虽然说看起来比较敏捷,但是如果几个项目下来还是采用这样的方法,就感觉写程序的效率上有一个瓶颈,速度上去不,速度快了bug又很多.
于是这次struts2实践为了避免或者说减少以上问题.
1.采用project做项目计划以及wbs,把系统分解成不同的模块.
2.利用测试驱动的方式编写代码,定号一个service的接口后,直接先开始写service的测试用例,确定service所实现的功能.至少保证这些功 ...
主要的思路是后端数据查询api+action+tag的方式实现分页功能.
1.后端数据查询api
提供封装分页信息的类PageInfo(保存pageIndex,pageSize,totalRecord,querycondition等等的信息)
提供接收分页信息类的数据查询接口,该接口能根据分页信息类返回正确的分页结果)
xxxDaoTemplate.find(PageInfo pageInfo,.........)
2.action层
设计一个action接口(PagerAwareAction?)提供操作有getPager,setPager
提供一个默认实现了PagerAwareAction的 ...
前一段时间一直都在看struts2的文档,上周终于看完并且总结完毕了。准备开始实践了。
初步计划如下
1.利用以前用.net做过的一个项目作为原始需求,这样能更关注于struts2各种功能的实践。
2.框架为spring2+struts2+Jpa(Hibernate)+sitemesh
选择以上框架的理由如下
spring框架提供了良好的配置式的事务和其他java周边(例如hibernate,mail,quartz等等的集成).
Jpa是sun持久化方案的一个接口到时候便于替换持久层的实现。
用习惯了.net中的masterpage的强大功能,打算试试看sitemesh是不是很好用。
3.整个 ...
- 浏览: 6275 次
- 性别:

- 来自: 福建福州

- 详细资料
搜索本博客
最新评论
-
struts2实践- 结合jquery ...
不晓得有没有完整的代码,我现在弄的一头雾水的,不知道jquery的验证能不能与s ...
-- by long_jianxiu -
struts2实践- 结合jquery ...
jquery-validate的rules和messages分开写,如能合在一起 ...
-- by stworthy -
struts2实践- 结合jquery ...
看着不错, 本来就很烦struts的validator
-- by spiritfrog -
struts2实践- 结合jquery ...
是啊,现实开发中,总是很难直接套用strut2自带的那几个模板来实现验证,而且不 ...
-- by zl5897 -
struts2实践- 结合jquery ...
支持你的观点,感觉还是jquery表现力好点
-- by wangyazhen






评论排行榜