【正确答案】
【答案解析】数据验证也称为输入校验,用于指导对用户的输入进行基本的过滤,包括必填的字段(字段必须为数字)以及两次输入的密码必须一致等。Struts框架提供了现成的、易于使用的数据验证功能。
具体而言,数据验证可以分为两种类型:表单验证与业务逻辑验证。其中,表单验证由ActionForm Bean处理,例如,如果用户没有在表单中输入姓名就提交表单,将生成表单验证错误。该方式重写ActionForm的validate()方法,在该方法内对所有字段进行基本的校验。若出现不符合要求的输出,则将错误提示封装在ActionError对象里,最后将多个ActionError组合成ActionErrors对象,因此ActionErrors对象中封装了所有出错信息。
业务逻辑验证由Action处理,如果用户在表单中输入的姓名为“Hehao”,那么按照本应用的业务规则,不允许输入“Hehao”,因此将生成业务逻辑错误。需要注意的是,在Action里面完成数据验证,实际上就是在execute()方法前面增加数据验证的部分代码。