快速业务通道

Struts1.x系列教程(2):简单的数据验证 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-21
构造方法的第二个参是一个ActionMessage类的对象实例,而不是错误描述信息。

5.ActionMessage类的构造方法的参数并不是错误描述信息,而是错误描述信息的key,具体的信息在Java属性文件中(将在下一步实现)。

6.使用ActionForm的属性可以非常好地验证字符串类型,但对于其他的数据类型(如整型)的某些验证却不太适合。如当用户提交数据时,本该提交一个整数,但用户却提交了一个非整数信息。对于这种情况,在ActionForm类的对象实例中这个用户提交的数据的值为0。虽然使用ActionForm类的属性无法准确验证这种情况,但我们可以使用validate方法的第二个参数request的getParameter方法直接获得客户端提交的数据来进行验证。

7.如果ActionErrors对象中有错误信息,在JSP中需要使用<html:errors>标签显示错误信息。

8.Struts实际上是将ActionErrors对象以org.apache.struts.action.ERROR作为键值保存在了request的属性中。因此,<html:errors>标签实际上是从request的属性中获得的错误信息描述。如我们也可以通过如下的Java代码来获得produceID属性的错误描述信息:

<%     java.util.Iterator<org.apache.struts.action.ActionMessage> it = ((org.apache.struts.action.ActionErrors)request                      .getAttribute("org.apache.struts.action.ERROR")).get("productID");    out.println(((org.apache.struts.util.PropertyMessageResources )request       .getAttribute("org.apache.struts.action.MESSAGE")).getMessage("error.productID.blank",null));  %>

Struts1.x系列教程(2):简单的数据验证(3)

时间:2011-01-10 BlogJava 银河使者

【第4步】建立Java属性文件

Java属性文件相当于资源文件,以key = value形式保存了在程序中需要的字符串信息。Java属性文件的扩展名为properties。在<samples工程目录>"src目录中建立一个struts目录,在struts目录中建立一个ErrorDescription.properties文件,并输入如下的内容:

error.user.blank = User can''t be null.  error.password.blank = Password can''t be null.  error.password1.confirmation = Password doesn''t match confirmation.  error.email.blank = Email can''t be null.  error.email.invalid = It is not a valid email address.

【第5步】配置struts-config.xml文件

在本例中需要配置struts-config.xml文件的三个标签:<form-bean>、<action>和<message-resources>。

1.配置<form-bean>标签

这个标签用来定义ActionForm。在<form-beans>标签中加入如下所示的<form-bean>标签:

<form-bean name="simpleValidationForm" type="actionform.SimpleValidationForm" />

2.配置<action>标签

这个标签用来定义Struts中的动作类。在<action-mappings>标签中加入如下所示的<action>标签:

<action name="simpleValidationForm" path="/simpleValidation" scope="request" type="action.SimpleValidationAction"               input="simpleValidation.jsp">      <forward name="simple" path="simpleValidation.jsp" />  </action>

<action>标签中的属性含义描述如下:

1.name:表示ActionForm的名称。也就是<form-bean>标签中的name属性的值。

2.path:表示Struts动作,必须以“/”开头。

3.scope:表示ActionForm类的对象实例(在本例中是Si

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号