sturts2 验证框架<三>

14年前
4. 用户Bean User.java
Java代码  
  1. package org.kingtoon.bean;   
  2. import java.util.Date;   
  3. public class User {   
  4. private String userName;   
  5. private String password;   
  6. private String rePassword;   
  7. private Integer age;   
  8. private Date birthday;   
  9. public Integer getAge() {   
  10.    return age;   
  11. }   
  12. public void setAge(Integer age) {   
  13.    this.age = age;   
  14. }   
  15. public Date getBirthday() {   
  16.    return birthday;   
  17. }   
  18. public void setBirthday(Date birthday) {   
  19.    this.birthday = birthday;   
  20. }   
  21. public String getPassword() {   
  22.    return password;   
  23. }   
  24. public void setPassword(String password) {   
  25.    this.password = password;   
  26. }   
  27. public String getRePassword() {   
  28.    return rePassword;   
  29. }   
  30. public void setRePassword(String rePassword) {   
  31.    this.rePassword = rePassword;   
  32. }   
  33. public String getUserName() {   
  34.    return userName;   
  35. }   
  36. public void setUserName(String userName) {   
  37.    this.userName = userName;   
  38. }   
  39.   
  40. }  

5.配置验证文件RegisterAction-validation.xml
Java代码  
  1. <validators>   
  2. <field name="user.userName">   
  3.    <!-- 验证字符串不能为空 -->   
  4.    <field-validator type="requiredstring">   
  5.     <!-- 去空格 -->   
  6.     <param name="trim">true</param>   
  7.     <!-- 错误提示信息 -->   
  8.     <message>用户名不能为空</message>   
  9.    </field-validator>   
  10.      
  11.    <!-- 验证字符串长度 -->   
  12.    <field-validator type="stringlength">   
  13.     <param name="minLength">2</param>   
  14.     <param name="maxLength">20</param>   
  15.     <message>用户名长度应在218个字符间</message>   
  16.    </field-validator>   
  17. </field>   
  18.   
  19. <field name="user.password">   
  20.    <field-validator type="requiredstring">   
  21.     <param name="trim">true</param>   
  22.     <message>密码不能为空</message>   
  23.    </field-validator>   
  24.      
  25.    <field-validator type="stringlength">   
  26.     <param name="minLength">6</param>   
  27.     <param name="maxLength">18</param>   
  28.     <message>密码长度应在618个字符之间</message>   
  29.    </field-validator>   
  30. </field>   
  31.   
  32. <field name="user.age">   
  33.    <field-validator type="int">   
  34.     <param name="min">1</param>   
  35.     <param name="max">150</param>   
  36.     <message>年龄应在1150之间</message>   
  37.    </field-validator>   
  38. </field>   
  39. <!-- 验证字符串为日期类型 -->   
  40. <field name="user.birthday">   
  41.    <field-validator type="date">   
  42.     <param name="min">1900-01-01</param>   
  43.     <param name="max">2008-10-16</param>   
  44.     <message>出生日期应在1900-01-012008-10-16</message>   
  45.    </field-validator>   
  46. </field>   
  47. </validators>  

6.struts2框架默认加载的配置文件struts.xml
Java代码  
  1. <struts>    
  2.     <constant name="struts.custom.i18n.resources" value="messageResource"></constant>   
  3.        
  4.     <package name="user" extends="struts-default">   
  5.     <action name="register" class="org.kingtoon.action.RegisterAction">   
  6.        <result name="success">/welcome.jsp</result>   
  7.        <result name="input">/register.jsp</result>   
  8.     </action>   
  9.     </package>   
  10. </struts>  

7.web服务器启动时加载Struts 配置文件 web.xml
Java代码  
  1. <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"  
  2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  3. xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee    
  4. http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">   
  5. <filter>   
  6.    <filter-name>struts-cleanup</filter-name>   
  7.    <filter-class>   
  8.     org.apache.struts2.dispatcher.ActionContextCleanUp   
  9.    </filter-class>   
  10. </filter>   
  11. <filter>   
  12.    <filter-name>struts2</filter-name>   
  13.    <filter-class>   
  14.     org.apache.struts2.dispatcher.FilterDispatcher   
  15.    </filter-class>   
  16. </filter>   
  17. <filter-mapping>   
  18.    <filter-name>struts-cleanup</filter-name>   
  19.    <url-pattern>/*</url-pattern>   
  20. </filter-mapping>   
  21. <filter-mapping>   
  22.    <filter-name>struts2</filter-name>   
  23.    <url-pattern>/*</url-pattern>   
  24. </filter-mapping>   
  25.   
  26. <welcome-file-list>   
  27.    <welcome-file>register.jsp</welcome-file>   
  28. </welcome-file-list>   
  29. </web-app>  


至此,完毕.不过需要注意:
1.配置验证xml文档的名字有讲究:格式为:Action名字(类)-validation.xml,与类在同一包中;
2.验证文档里的<field-validator type="">中的type类型要和VO中的User属性类型一致,否则会报类型转换错误