欢迎来到天天文库
浏览记录
ID:37898299
大小:37.50 KB
页数:4页
时间:2019-06-02
《ssh笔记 面试题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、validate方法validate方法有三种来源,分别继承自ActionForm,ValidatorForm,ValidatorActionForm不同点:(1).继承自ActionForm的FormBean,必须覆基类ActionForm的validate()方法,仅能做服务器端检验。需要在strutsconfig.xml中配置中,Action一定要将validate属性设置为validate="true“.不是StrutsValidator框架,也不需要配置文件信息。(2).继承自ValidatorForm或ValidatorActionForm的FormBean
2、,是StrutsValidator框架。可以做服务器端检验,也可以通过生成JavaScript的方式实现客户端检验。(3).作为StrutsValidator框架,必须不能覆盖基类的validate()方法。即必须使用基类的validate()方法,才能保证错误验证正常进行。否则就会屏蔽掉在Validation.xml中定义的验证部分,在系统运行时,validation.xml里对应此FormBean定义的错误验证部分不执行。(4).作为StrutsValidator框架,需要validator.xml和validator-rules.xml配置文件,无论是服务器还是客
3、户端验证。服务器端验证:validate="true“。客户端验证:validate="false“(5).ValidatorForm和ValidatorActionForm的区别。=================================================================================一、在对应的FormBeans中重载validate方法在struts-config.xml文件中,action节点下有“validate”这样一个属性。在struts框架中,默认属性是validate=”true”。所以如果想通过
4、FormBaens的重载validate方法来验证数据的话,可以不用理会这一点。题外话:如果你在struts-config.xml文件中,设置validate="false"的话,validate方法将不起作用。这一点同样对Validate框架来验证数据起作用。二、通过Validator框架来验证数据1、配置struts-config.xml文件,增加:5、NF/validator-rules.xml,/WEB-INF/validations.xml"/>2、配置validation.xml文件----这里的userForm是FormBeans的名字 ……以上是通过validatorForm-orDynaValidatorForm来实现Validate验证的现在有这样一个问题,FormBeans可以被多个Action应用,而每个Action可能需要的验证字段都不一样。而在validation.xml中配置的验证方式(如6、ormname="userForm">)是对这个FormBeans进行的。于是,FormBeans可以继承ValidatorActionForm(当然可以直接配置DynaValidatorActionForm)。如下所示:validation.xml文件配置如下:----这里的采用的是action的path路径 ……三、结合上面的两种验证如果即在FormBeans中重载了validate方法,又启用了Validate框架,那会是什么效果呢?由于要启用Valid7、ate框架,FormBeans需要继承ValidatorForm,查看ValidatorForm的源代码,发现validate方法已经作了处理(真是为Validate框架所服务的)。那么在FormBeans中重载了validate方法的话,就会覆盖原有ValidatorForm中对应的功能,所以如果想一起用的话,需要在FormBeans的validate方法中调用errors=super.validate(mapping,request);这句代码是启用Validate框架所要做的工作,然后可以判断errors再作下一步的处理。当然也可以
5、NF/validator-rules.xml,/WEB-INF/validations.xml"/>2、配置validation.xml文件----这里的userForm是FormBeans的名字 ……以上是通过validatorForm-orDynaValidatorForm来实现Validate验证的现在有这样一个问题,FormBeans可以被多个Action应用,而每个Action可能需要的验证字段都不一样。而在validation.xml中配置的验证方式(如6、ormname="userForm">)是对这个FormBeans进行的。于是,FormBeans可以继承ValidatorActionForm(当然可以直接配置DynaValidatorActionForm)。如下所示:validation.xml文件配置如下:----这里的采用的是action的path路径 ……三、结合上面的两种验证如果即在FormBeans中重载了validate方法,又启用了Validate框架,那会是什么效果呢?由于要启用Valid7、ate框架,FormBeans需要继承ValidatorForm,查看ValidatorForm的源代码,发现validate方法已经作了处理(真是为Validate框架所服务的)。那么在FormBeans中重载了validate方法的话,就会覆盖原有ValidatorForm中对应的功能,所以如果想一起用的话,需要在FormBeans的validate方法中调用errors=super.validate(mapping,request);这句代码是启用Validate框架所要做的工作,然后可以判断errors再作下一步的处理。当然也可以
6、ormname="userForm">)是对这个FormBeans进行的。于是,FormBeans可以继承ValidatorActionForm(当然可以直接配置DynaValidatorActionForm)。如下所示:validation.xml文件配置如下:----这里的采用的是action的path路径 ……三、结合上面的两种验证如果即在FormBeans中重载了validate方法,又启用了Validate框架,那会是什么效果呢?由于要启用Valid
7、ate框架,FormBeans需要继承ValidatorForm,查看ValidatorForm的源代码,发现validate方法已经作了处理(真是为Validate框架所服务的)。那么在FormBeans中重载了validate方法的话,就会覆盖原有ValidatorForm中对应的功能,所以如果想一起用的话,需要在FormBeans的validate方法中调用errors=super.validate(mapping,request);这句代码是启用Validate框架所要做的工作,然后可以判断errors再作下一步的处理。当然也可以
此文档下载收益归作者所有