Struts从零开始五、Struts中验证数据实例 - 编程入门网
Struts从零开始五、Struts中验证数据实例时间:2011-08-05一、Struts的ActionForm的表单验证 ActionForm类用于在视图层和控制层之间传递HTML表单数据。控制层可以从ActionForm Bean中读取用户输入的表单数据,也可以把来自模型层的数据存放到ActionForm Bean中,然后把数据返回给视图。即ActionForm Bean从HTML表单中获取用户输入的数据并将传递给Action类,也可以把从业务层返回的数据用来填充ActionForm Bean,然后JSP页面用它来为HTML表单提供各种输出字段的数据。此外,ActionForm Bean还具有表单验证功能,可以过路不合法的数据。 ActionForm Bean有两种存在范围:request和session。如果ActionForm Bean存在于request范围,它仅在当前的请求/响应生命周期中有效。如果ActionForm Bean存在于session范围,同一个ActionForm Bean实例在整个HTTP会话中都有效。 在Struts框架中,使用ActionForm Bean来实现应用程序系统的非持久性数据存储和维护功能,它采用了自动填充属性和调用的机制。所以必须继承ActionForm类,并且包涵用户表单输入的属性,以及相应的get方法和set方法。另外,还可以根据需要重写父类的reset()和validate()方法,实现属性的重置和表单数据验证功能。 validate()方法 这个方法主要负责检查数据的格式和语法,而不负责检查数据是否符合业务逻辑。 ActionForm基类中的validate()方法在默认情况下将返回null。如果创建了ActionForm的子类,那么应该在子类覆盖validate()方法。 reset()方法 这个方法用于恢复ActionForm Bean 的属性的默认值。例如:把字符串属性设为null或某个初始值。 1、修改前面我们写的LoginActionForm,如果你不清楚的话,请您先看前几个实例,具体代码如下:
这个方法返回ActionErrors对象,如果返回的ActionErrors对象为null,或者不包含任何ActionMessage对象,就表示没有错误,数据验证通过。如果ActionErrors中包含ActionMessage对象,就表示发生了验证错误,此时就回把请求转发到你struts.xml里面元素input属性指定的web资源。 new ActionError("loginform.error.username");取得资源文件里面的键值,用于页面的输出。 Struts从零开始五、Struts中验证数据实例(2)时间:2011-08-052、打开applicationResource.properties,加入如下信息: loginform.error.username=please enter your username loginform.error.password=please enter your password 因为我们前面做了国际化,所以打开applicationResource_zh_CN.properties文件,添加如下: loginform.error.username=请输入用户名 loginform.error.password=请输入密码 3、修改struts-config.xml文件
在元素中,name和scope属性分别指定ActionForm的名字和它的范围,valudate属性指定是否执行表单验证,而input属性表示验证失败,所要显示用户的内容。 4、修改login.jsp,在元素添加,目的 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |