》更不愿意把表单验证和逻辑验证放到服务器端
服务器端验证安全高,因为html客户端用户可以避开JS做一个新的表单来提交,客户端验证则用户感受好,另外Struts也提供客户端JS验证的表单,这样前后台一起做,开发速度会提高的。
对于我个人而言,我宁可多做服务器端,而不愿做JS,因为JS调试时间是Java调试的好几倍,维护成本很高,JS只做一些通用的功能验证。
>2.对于多表查询和页面里的动态表单(如:动态增加和删除表格)是不是比传统的开发还要复杂?
多表查询关键做好是ActionForm组件设计,以及JSP页面的标签库应用,当然页面组件不可能是一个可能是多个,这里面其实体现了Model设计技巧,因为ActionForm只是Model的一个复制和影子,在JSF等中可以直接使用Model作为页面组件,但是个人感觉留一个专门页面组件比较灵活,可以做一些适合界面但不涉及业务模型的变化。
动态表单关键也是页面组件设计,以及JS的使用,有一个BSF框架使用Struts可以将页面表单做得非常灵活,可以参考一下。
>模块多了,相应的代码文件和配置文件也会级数增加
模块多了,实际就是组件块多了,每个组件块有自己一套代码和配置,就象小公司没有组织之分,但是大公司人多了,就部门之分,只要做到清晰的组件规划,反而更有条理,每个组件块都有其核心业务Model,就象每个部门都有经理一样,虽然部门多,只要抓经理就可以,虽然组件块多,只要抓Domain Model就可以。