背景:1个Action类,名称为RegisterAction,其中包含的属性有:
string username;
int age;
string password;
string repassword;
date birthday;
date graduation;
需求: 如今需要对以上的这些属性进行输入校验,
1:所有都不准为空,
2:username, password. repassword都至少是6位,最多10位。
3:对birhtday,以及graduation 都给出一个明显的期限例如都是从xxxx/x/xx----yyyyy/yy/yy之内有效。
4.:age只能是1-150之间。
理论:
struts2包含了XML的输入校验框架,其中在Referenced Libraries中的xwork-core-2.1.6.jar——————>中的com.opensymphony.xwork2.validator.validators中就包含里所有相关的类文件。查看其中的default.xml对理解很有帮助
操作:
1. 在RegisterAction同处的目录下,建立一个xml文件,名为RegisterAction-validation.xml(其中-validation.xml是固定的写法,“-”的左边是相对应的Action类的类名)。
2. 打开这个xml文件,添加对应的DTD:
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
这个不用记,直接可以到下载下来的struts2文件的app文件中的例子里copy. 用firefox点击上述蓝色的网址直接查看DTD文档。
3. 在XML校验文件中,为RegisterAction.class中的每一个属性编写代码,其中代码如下:
<validators>
<field name="username">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>username should not be blank!</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">6</param>
<param name="maxLength">10</param>
<message>
username shuold be between ${minLength} and ${maxLength}
</message>
</field-validator>
</field>
<field name="password">
<field-validator type="requiredstring">
<message>password should not be ignored!</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">6</param>
<param name="maxLength">10</param>
<message>
password shuold be between ${minLength} and ${maxLength}
</message>
</field-validator>
</field>
<field name="repassword">
<field-validator type="requiredstring">
<message>password should not be ignored!</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">6</param>
<param name="maxLength">10</param>
<message>
repassword shuold be between ${minLength} and ${maxLength}
</message>
</field-validator>
</field>
<field name="age">
<field-validator type="int">
<param name="min">1</param>
<param name="max">150</param>
<message>
The age should be the range of ${min} to ${max} years old!
</message>
</field-validator>
</field>
<field name="birthday">
<field-validator type="required">
<message>The birthday should bot be ignored!</message>
</field-validator>
<field-validator type="date">
<param name="min">1900-01-01</param>
<param name="max">2010-12-30</param>
<message>
The birthday should be the range of ${min} to ${max}
</message>
</field-validator>
</field>
<field name="graduation">
<field-validator type="required">
<message>The graduation has to be filled!</message>
</field-validator>
<field-validator type="date">
<param name="min">1900-01-01</param>
<param name="max">2010-12-30</param>
<message>
The graduation date should be the range of ${min} to ${max}
</message>
</field-validator>
</field>
</validators>
结果:
运行之后,结果都正常,在出现错误输入的时候,有相应的提示出现!
分享到:
相关推荐
在Struts2中,输入校验器是一种实现数据验证的组件,它们通过配置在XML文件(如`default.xml`)中来定义,并与Action类的属性关联。`default.xml`文件通常位于`com/opensymphony/xwork2/validator/validators`路径下...
Struts 2.5.2 是一个非常重要的Java Web开发框架,它基于MVC(Model-View-Controller)设计模式,极大地简化了企业级应用程序的构建。Struts 2是Struts 1的升级版,提供了更多的功能和改进,提高了性能和可扩展性。...
Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它由Apache软件基金会维护。在Java EE开发中,Struts2提供了丰富的功能来简化Web应用的构建,包括动作调度、视图渲染、业务逻辑处理...
Struts2内建了一个基于XML的校验框架,允许开发者在Action类的配置文件中定义验证规则。这些规则可以指定字段的必填性、长度限制、数据类型等。例如,你可以通过以下方式定义一个用户名的非空校验规则: ```xml ...
综上所述,Struts2的输入校验机制不仅支持基本的手动校验,还提供了高度可配置和扩展的验证框架,使得开发者能够根据应用的具体需求,灵活地实现各种校验逻辑,从而提升应用程序的质量和用户体验。
- 对输入数据进行严格的校验,防范XSS、CSRF等攻击。 - 结合Spring等其他框架,提升应用的灵活性和可维护性。 6. **集成与测试**: Struts2可以轻松地与其他Java EE组件,如Spring、Hibernate等进行集成。在测试...
4. **拦截器(Interceptor)**:Struts 2使用拦截器来增强Action的处理能力,拦截器可以实现如日志记录、权限验证、数据校验等通用功能,它们按照预设的顺序执行。 5. **OGNL(Object-Graph Navigation Language)*...
Struts 2.5.16 是一个流行的Java Web应用程序框架,由Apache软件基金会开发。这个框架基于Model-View-Controller(MVC)设计模式,为开发者提供了构建可维护、可扩展且高度结构化的Web应用的工具。Struts 2.5.16-all...
Struts是Apache软件基金会下的一个开源项目,是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架。这个“struts-1.2.9-src.zip”压缩包包含的是Struts 1.2.9版本的源代码,对于开发者来说,这是...
Struts 2是Java Web开发中的一个开源框架,主要用于构建MVC(模型-视图-控制器)架构的应用程序。此“struts-2.3.30-all”压缩包包含了Struts 2框架的版本2.3.30的所有组件和相关资源,这是一款广泛使用的版本,提供...
Struts是Apache软件基金会的一个开源框架,主要用于构建Java Web应用程序。在Struts中,Action类是业务逻辑的核心组件,它负责处理用户请求并调用相应的服务层方法来完成业务操作。本文将深入探讨Struts Action的...
Struts2作为一款流行的Java Web开发框架,提供了一套强大的校验框架,使得开发者能够方便地对用户输入数据进行验证,确保数据的准确性和安全性。本文将深入探讨Struts2校验框架的应用,包括其核心概念、配置方式、...
在Struts框架中,Validator-rules主要通过XML配置文件来定义验证规则。这些规则涵盖了各种验证条件,如非空检查、长度限制、格式校验(如电子邮件、电话号码等)以及自定义验证。以下是对Struts的Validator-rules的...
7. **验证框架**:Struts内置了表单验证机制,可以在ActionForm中定义验证规则,对用户输入的数据进行校验。 8. **JSP标签库**:Struts提供了丰富的JSP标签库,如logic标签、bean标签和html标签,简化了JSP页面的...
Struts验证框架,作为Struts框架的一个重要组成部分,主要用于对用户输入的数据进行合法性检查,确保数据符合预期的格式和约束条件。这一机制不仅提升了应用程序的健壮性,还增强了用户体验,避免了因非法数据导致的...
Struts2是一个非常著名的Java Web开发框架,由Apache软件基金会维护。它的核心是基于MVC(Model-View-Controller)设计模式,旨在简化创建企业级Java Web应用的过程,提高开发效率和可维护性。在本资源"struts-...
7. **Validator框架**:提供了一种方便的方式来验证用户输入,通过定义验证规则文件(validation.xml),可以对表单数据进行校验。 8. **ActionForward**:用于指定一个Action执行后转向的页面或另一个Action。 9....
Struts2-core-2.1.6.jar 是Apache Struts框架的一个核心库文件,这个版本发布于较早的时期,但依然对理解Struts2框架的基础运作机制具有重要的参考价值。Struts2是一个基于MVC(Model-View-Controller)设计模式的...
- 对用户输入进行严格的校验和过滤,防止SQL注入和跨站脚本攻击。 7. **开发工具集成**: - IDE如Eclipse、IntelliJ IDEA有专门的Struts 2插件,可以简化开发和调试过程。 总之,Struts 2.1.0的lib目录包含了...
2. **配置文件**:Struts 2的配置文件一般为`struts.xml`,它定义了Action、Action的输入输出、拦截器栈等信息。开发者可以在这里配置URL映射、参数绑定、异常处理等。 3. **拦截器(Interceptor)**:拦截器是...