打破神话

我什么时候也起这么恶心的题目了,可能和某些同志混久了,也喜欢抓眼球了。言归正传,banq老爷子(这么叫挺可爱的),就是jdon创始的那个banq,其实我一直有些佩服有些BS的复杂情绪看待这样一个人,banq技术上确实有几下,起码不是只会吵架的人,能研究些东西,但是,看他吵架和写东西确实不是很舒服,总是感觉什么东西都是他banq的最好,他的jdonframework比spring先进阿,HiveMind框架的思想他早就有啊之类的……翻翻帖子,看看gigix robbin怎么和banq结的梁子,有时候不禁喷饭。但是似乎所有大牛都有个特点,什么东西都要评头品足,我就纳闷,世界上有这样的人么?什么东西都研究的明明白白的。今天好不容易闲了,去jdon看看热闹,看有人吵架每(这心里够bt),结果看到banq解答的struts问题的帖子,sigh,要是普通人我早就反驳了,可是因为是banq,我又再次翻出来以前看的资料和源码才敢指出:banq,u r wrong.而且是很基础的很本质的错误。问题如下:
感觉Struts标签太繁琐了,想用 struts+velocity ,但是页面如果没有html:form等struts标签,页面的form elements 是否能赋值到formbean中,formbean中的validate方法是否还有效。
banq的理解:
当然不会有效。每个字段实际是通过:
<html:text name="ACTIONFORM名称" propert=""
其中name很重要,指定了使用哪个ActionForm。
俺给个解答,也请指出不足和理解上的偏颇:
name:The attribute name of the bean whose properties are consulted when rendering the current value of this input field. If not specified, the bean associated with the form tag we are nested within is utilized.
Any JavaBean can be used with the Struts JSP tags to populate a control. But to provide automatic validation of the input, Struts uses its own JavaBean subclass,called the ActionForm.
The ActionForm solution
The Struts solution to HTTP parameter handling is to transform the input fields into JavaBean properties. When a property on the ActionForm matches a parameter in the request, the framework automatically sets the property to the value of the parameter. A Struts developer can work with a trusty JavaBean and leave the HTTP rigmarole to the framework.To harvest request parameters, all the Struts developer needs to do is provide an ActionForm with JavaBean properties that match the names of the HTTP parameters. The rest is automatic.
具体如何automatic解析,ActionForm如何被控制,有空再写,毕竟struts研究的系列心得才进行了很少篇blog,现在忙着webwork2 hibernate spring

你可能感兴趣的:(打破神话)