百科狗-知识改变命运!

动态表单与静态表单的区别有哪些

百变鹏仔2年前 (2023-12-21)阅读数 17#综合百科
文章标签表单多个

Struts架构中,ActionForm负责记录和维护视图中的数据,提供Model(模型层)和View(视图层)使用,因此可疑将它看作是模型和视图之间的中介.如果需要,还可疑启动ActionForm对数据实现验证及过滤功能,即只有通过ActionForm验证的数据才能够发送到ActionBean进行后续处理.

ActionForm是一种特殊的JavaBean,控制器组件RequestProcessor利用其属性存取方法setter/getterXXX()实现初始话.在初始化完毕后,还能调用它的validate()方法来对请求参数进行验证,通常是检查数据格式是否合法,并在验证失败的时候通过错误管理机制加以处理.

动态表单与静态表单的区别有哪些

但是ActionForm本身也存在一个缺点:由于ActionForm对应于Http请求表单,所以在开发设计大型Struts应用时,随着页面和请求表单数目的增多,Struts应用程序中需要定义打量的ActionForm类.此外,同一类型的表单字段可能出现在不同表单,进而出现在多个ActionForm中,这会造成多个ActionForm类之间不能共用相同的验证代码,例如:在登录页面中有用户和密码字段,而在注册页面童谣也有密码和用户字段.其对应的名称及操作应该是类似的.

当然可疑考虑开发一个巨大的ActionForm类,使之同时对应多个表单,但这种过强的聚合性会导致代码更难以维护和重用.

为了彻底解决这种问题,Struts1.1中提出了动态ActionForm(DynaActionForm),同时也提供了Validator验证框架实现动态验证表单(DynaValidatorForm)的功能.

实际上,引入动态表单DynaActionForm的目的在于减少ActionForm的数目,因此也常将ActionForm称为静态表单以示区别.

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)
{if $zbp->Config('yd1125')->foot}