donghongbz 2010-03-03
经过一段时间的使用和学习,发现jQuery与Struts2还是比较容易配置的,总结一下:
1Action实现了ModelDriver之后,Formfield不再需要Entity.Property方式命名了,普通HTMLForm元素,就可以配合Struts2工作了。
2要实现ModelDrivern必需在Struts.xml中配置如下Interceptor:
<interceptor-refname="modelDrivenStack"/>
或者直接引用默认的:<interceptor-refname="defaultStack"/>就可以了。
3Interceptor配置顺序是有要求的,否则,某些功能不能工作。
补充一下:
JQ有一个常用验证插件,要求DOM元素的ID和NAME必须相同,ACTION实现了MODELDRIVEN接口后,页面标签就没有必要采用Model.Property的写法了。
我个人认为,选择框架,主要选择通用部分较强的部分,这样,便于项目维护和拓展。比如STRUTS2的ACTION部分和SPRING的MVC很近似了。切换很容易。
4使用jQuery常用的一个Validate插件时,因为该插件是以ID为验证依据,当表单有重复ID时,表单将不被提交,同时因为OGNL会将重复ID的值返回到页面,如果去除插件,重复的ID值将被叠加到同一个数据字段中,保存到数据库。
5接触Struts标签时,感觉很方便,比如常用的<s:select/>,把Collection放到页面请讲求中,就可以了,但如果是OneToMany关系,就不得不写成Model.Property形式,通过StrutsParse成页面时,这里的“。”变成了下划线,如果这时个应用JQ,看上去就不伦不类的。所以建议,如果是需要操作数据的select元素,还是完全用JQ结合AJAX来构建最好,级联SELECT应用场景,JQ优势更明显了。
6因为JQcore是由天才的作者维护的,大家常与MT来对比(团队开发)。其它组件的实现需要自已写,或者引用他人的。在引用他人的JQplugin时,一定要做到读懂代码,看自己能否掌握,没问题之后,再用,这要有助于项目的扩展或者升级。