`
heavyliu
  • 浏览: 13076 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
最近访客 更多访客>>
社区版块
存档分类
最新评论

struts学习4---XML输入校验框架

阅读更多

背景: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>

 

结果:

运行之后,结果都正常,在出现错误输入的时候,有相应的提示出现!

分享到:
评论

相关推荐

    struts框架验证---输入校验器大全

    在Struts2中,输入校验器是一种实现数据验证的组件,它们通过配置在XML文件(如`default.xml`)中来定义,并与Action类的属性关联。`default.xml`文件通常位于`com/opensymphony/xwork2/validator/validators`路径下...

    struts-2.5.2-all.zip

    Struts 2.5.2 是一个非常重要的Java Web开发框架,它基于MVC(Model-View-Controller)设计模式,极大地简化了企业级应用程序的构建。Struts 2是Struts 1的升级版,提供了更多的功能和改进,提高了性能和可扩展性。...

    struts-2.3.31-all.zip

    Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它由Apache软件基金会维护。在Java EE开发中,Struts2提供了丰富的功能来简化Web应用的构建,包括动作调度、视图渲染、业务逻辑处理...

    Struts2--输入校验

    Struts2内建了一个基于XML的校验框架,允许开发者在Action类的配置文件中定义验证规则。这些规则可以指定字段的必填性、长度限制、数据类型等。例如,你可以通过以下方式定义一个用户名的非空校验规则: ```xml ...

    Struts2输入校验总结

    综上所述,Struts2的输入校验机制不仅支持基本的手动校验,还提供了高度可配置和扩展的验证框架,使得开发者能够根据应用的具体需求,灵活地实现各种校验逻辑,从而提升应用程序的质量和用户体验。

    struts-2.5.16-min-lib

    - 对输入数据进行严格的校验,防范XSS、CSRF等攻击。 - 结合Spring等其他框架,提升应用的灵活性和可维护性。 6. **集成与测试**: Struts2可以轻松地与其他Java EE组件,如Spring、Hibernate等进行集成。在测试...

    struts-2.3.37-all.zip

    4. **拦截器(Interceptor)**:Struts 2使用拦截器来增强Action的处理能力,拦截器可以实现如日志记录、权限验证、数据校验等通用功能,它们按照预设的顺序执行。 5. **OGNL(Object-Graph Navigation Language)*...

    struts-2.5.16-all框架

    Struts 2.5.16 是一个流行的Java Web应用程序框架,由Apache软件基金会开发。这个框架基于Model-View-Controller(MVC)设计模式,为开发者提供了构建可维护、可扩展且高度结构化的Web应用的工具。Struts 2.5.16-all...

    struts-1.2.9-src.zip

    Struts是Apache软件基金会下的一个开源项目,是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架。这个“struts-1.2.9-src.zip”压缩包包含的是Struts 1.2.9版本的源代码,对于开发者来说,这是...

    struts-2.3.30-all

    Struts 2是Java Web开发中的一个开源框架,主要用于构建MVC(模型-视图-控制器)架构的应用程序。此“struts-2.3.30-all”压缩包包含了Struts 2框架的版本2.3.30的所有组件和相关资源,这是一款广泛使用的版本,提供...

    Struts学习----Action 的配置和使用(源码学习)

    Struts是Apache软件基金会的一个开源框架,主要用于构建Java Web应用程序。在Struts中,Action类是业务逻辑的核心组件,它负责处理用户请求并调用相应的服务层方法来完成业务操作。本文将深入探讨Struts Action的...

    Struts2校验框架应用

    Struts2作为一款流行的Java Web开发框架,提供了一套强大的校验框架,使得开发者能够方便地对用户输入数据进行验证,确保数据的准确性和安全性。本文将深入探讨Struts2校验框架的应用,包括其核心概念、配置方式、...

    Struts的Validator-rules详解

    在Struts框架中,Validator-rules主要通过XML配置文件来定义验证规则。这些规则涵盖了各种验证条件,如非空检查、长度限制、格式校验(如电子邮件、电话号码等)以及自定义验证。以下是对Struts的Validator-rules的...

    struts-1.2.9-src.rar

    7. **验证框架**:Struts内置了表单验证机制,可以在ActionForm中定义验证规则,对用户输入的数据进行校验。 8. **JSP标签库**:Struts提供了丰富的JSP标签库,如logic标签、bean标签和html标签,简化了JSP页面的...

    struts验证框架-validation的验证框架

    Struts验证框架,作为Struts框架的一个重要组成部分,主要用于对用户输入的数据进行合法性检查,确保数据符合预期的格式和约束条件。这一机制不仅提升了应用程序的健壮性,还增强了用户体验,避免了因非法数据导致的...

    struts-2.3.34-all.zip

    Struts2是一个非常著名的Java Web开发框架,由Apache软件基金会维护。它的核心是基于MVC(Model-View-Controller)设计模式,旨在简化创建企业级Java Web应用的过程,提高开发效率和可维护性。在本资源"struts-...

    jakarta-struts-1.2.0-lib

    7. **Validator框架**:提供了一种方便的方式来验证用户输入,通过定义验证规则文件(validation.xml),可以对表单数据进行校验。 8. **ActionForward**:用于指定一个Action执行后转向的页面或另一个Action。 9....

    struts2-core-2.1.6.jar

    Struts2-core-2.1.6.jar 是Apache Struts框架的一个核心库文件,这个版本发布于较早的时期,但依然对理解Struts2框架的基础运作机制具有重要的参考价值。Struts2是一个基于MVC(Model-View-Controller)设计模式的...

    struts-2.1.0-lib

    - 对用户输入进行严格的校验和过滤,防止SQL注入和跨站脚本攻击。 7. **开发工具集成**: - IDE如Eclipse、IntelliJ IDEA有专门的Struts 2插件,可以简化开发和调试过程。 总之,Struts 2.1.0的lib目录包含了...

    struts-2.0.11-src.zip

    2. **配置文件**:Struts 2的配置文件一般为`struts.xml`,它定义了Action、Action的输入输出、拦截器栈等信息。开发者可以在这里配置URL映射、参数绑定、异常处理等。 3. **拦截器(Interceptor)**:拦截器是...

Global site tag (gtag.js) - Google Analytics