MVC的View在web方式下的技术选择
在Web上,给user做交互的界面通常是利用html的form元素(input, select, radio box, check box, etc), 我在以前一个应用系统中,有很多form,写这些代码会是一个比较繁琐的工作,而且容易出错, 比方说form元素的名字拼写的一个小错误,就导致不能正确的传递参数. 而这些元素的名字通常都会和M层里的Object的属性对应, 和O/R Mapping里面的定义文件的field对应.
以上只是谈了感到View开发不方便的一点, 还有其他的问题,比如数据校验,多语言支持等都是蛮繁琐的劳动. 就不举例说明了.
如果有一种web framework可以帮我们处理这些繁琐的机械劳动, 会轻松很多.
在网络上搜索了一些资料, 没有找到理想的架构, 说一下我的要求, 如果大家有知道类似的架构,请帮忙推荐一下.
1. Form 处理, 用xml定义的方式定义form,form定义可以继承, form元素可以扩展, 这样多个页面可以共用一些form定义. 最好可以根据O/R Mapping的定义文件生成原始的代码供修改.
2. 常用数据校验(长度,数据类型, 正则表达式), 只用写一段定义文件, 客户端和服务器端就都可以支持, 可以通过配置文件来决定disable/enable client or server 模式.
3. 多语言支持, 有一些现成的代码, 但是View上的代码量都蛮多的, 用一堆的jsp tag感觉不是很方便.
4. Template, 支持template 语言 (Velocity, FreeMaker etc).