struts2中xml文件校验方式
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年7月12日 11:17:34 星期日
第一步:
在Action所在的包,新建一个名称为“Action名称-validation.xml”的xml文件。
如:LoginAction.java对应的校验xml为LoginAction-validation.xml
第二步:配置LoginAction-validation.xml文件
例如在action定义了两个参数变量
private String userName;
private String userPassword;
需要对这两个变量进行校验,则需要LoginAction-validation.xml文件进行相应的配置
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd"> <validators> <field name="userName"> <field-validator type="requiredstring"> <message>用户名为必填项。</message> </field-validator> <field-validator type="stringlength"> <param name="maxLength">5</param> <param name="minLength">2</param> <message>用户名的长度为${minLength}到${maxLength}个字符。</message> </field-validator> </field> <field name="userPassword"> <field-validator type="requiredstring"> <message>密码为必填项。</message> </field-validator> <field-validator type="stringlength"> <param name="maxLength">8</param> <param name="minLength">6</param> <message>密码的长度为${minLength}到${maxLength}个字符。</message> </field-validator> </field> </validators>
field-validator type的定义为:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator Definition 1.0//EN" "http://struts.apache.org/dtds/xwork-validator-definition-1.0.dtd"> <!-- START SNIPPET: validators-default --> <validators> <validator name="required" class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/> <validator name="requiredstring" class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/> <validator name="int" class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/> <validator name="long" class="com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator"/> <validator name="short" class="com.opensymphony.xwork2.validator.validators.ShortRangeFieldValidator"/> <validator name="double" class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/> <validator name="date" class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/> <validator name="expression" class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/> <validator name="fieldexpression" class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/> <validator name="email" class="com.opensymphony.xwork2.validator.validators.EmailValidator"/> <validator name="url" class="com.opensymphony.xwork2.validator.validators.URLValidator"/> <validator name="visitor" class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/> <validator name="conversion" class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/> <validator name="stringlength" class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/> <validator name="regex" class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/> <validator name="conditionalvisitor" class="com.opensymphony.xwork2.validator.validators.ConditionalVisitorFieldValidator"/> </validators> <!-- END SNIPPET: validators-default -->
第三步:配置struts.xml文件,设置校验不通过的返回页面
<result name="input">login.jsp</result>
具体如下:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <constant name="struts.devMode" value="true" /> <package name="strutsTest" extends="struts-default"> <action name="login" class="com.struts2.action.LoginAction"> <result name="success">userIndex.jsp</result> <result name="input">login.jsp</result> <result name="invalid.token">token.jsp</result> <interceptor-ref name="token"></interceptor-ref> <interceptor-ref name="defaultStack"></interceptor-ref> </action> </package> </struts>
第四步:
在页面显示校验错误信息
<s:fielderror cssStyle="color:red;"></s:fielderror>
例子如下:
<s:fielderror cssStyle="color:red;"></s:fielderror> <s:form action="login" method="post" theme="simple"> 用户名:<s:textfield name="userName"></s:textfield><br/> 密码:<s:password name="userPassword"></s:password><br/> <s:token></s:token> <input type="submit" value="登录" /><br/> </s:form>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年7月12日 11:17:34 星期日
相关推荐
struts2的输入校验有两种方式: 一.重写validate()方式 二.采用配置文件的方式 先我们就以一个简单的登录的例子来讲解这个吧. 重点讲解下,第二个采用配置文件的方式: 1.添加一个xml的校验文件,保存在...
Struts2的输入校验配置主要通过XML文件进行,这个文件通常命名为`<Action-name>-validation.xml`,并放置在与Action类相同的包内。例如,一个名为`RegistAction`的Action对应的校验文件可能是`RegistAction-...
3. **配置校验规则**:Struts2的校验规则可以通过XML或注解方式定义。XML方式通常在struts.xml或相应的action类配置文件中定义,而注解方式则直接在Action类的属性上标注,例如使用`@RequiredString`、`@Size`等。 ...
反之,如果校验失败,会转向`input`视图资源,通常是在Struts2配置文件中指定的,用于显示错误信息给用户。 #### 三、基于验证框架的输入校验 除了手动校验,Struts2还提供了一个强大的验证框架,支持更复杂的校验...
Struts2提供了多种数据校验方式,包括基于注解的校验、基于XML配置的校验和自定义校验。 1. **基于注解的校验**: Struts2集成Spring的Validation框架,允许开发者在Action类的属性上使用JSR303/JSR349(Bean ...
总结起来,Struts2的XML表单验证是通过创建XML文件定义验证规则,然后在Action类中处理数据,通过框架自动进行验证并返回错误信息。这种方式使得验证逻辑与业务逻辑分离,提高了代码的可维护性和复用性。对于大型...
struts2文件上传,与xml校验 struts2文件校验可通过xml配对action的名称去校验属性的值。例如UploadAction.java中有一个book的属性。那么我可以定义一个UploadAction-validation.xml去校验这个book属性的内容。 xml的...
在Struts2中,输入校验通常分为两种方式:客户端校验和服务器端校验。客户端校验主要通过JavaScript在用户端进行,可以提供即时反馈,但安全性较低,因为用户可以禁用JavaScript或绕过校验。服务器端校验则是在...
然后,配置Struts2的核心配置文件struts.xml,该文件位于WEB-INF/classes目录下,用于定义Action、Interceptor、结果页面等信息。 总结来说,Struts2作为一款强大的MVC框架,通过其无侵入式设计、拦截器、类型转换...
- 在Action类中,定义需要校验的字段,并添加`@Validated`注解或者使用Struts2的XML配置文件来指定需要校验的属性。 - 创建一个ValidatorForm或者继承ActionSupport的Action类,这些类包含了内置的校验逻辑。 - ...
在Struts2中,数据校验的配置通常有两种方式:XML配置和注解方式。XML配置是在struts.xml文件中定义Action类及其对应的验证规则,而注解方式则是直接在Action类或字段上使用特定的注解来指定验证规则。 1. **XML...
在这个名为"struts2-login校验.rar"的压缩包中,我们很显然会看到一个关于Struts2登录验证的实现,涉及到admin和user两个不同角色的登录页面。 首先,我们需要了解Struts2的核心概念,如Action和Result。Action是...
本篇文章将详细介绍如何在Struts2中进行输入校验,包括两种主要实现方式:使用Action中的`validate()`方法和使用XML文件。 1. 使用Action中的`validate()`方法: 在Struts2中,每个Action类都可以包含一个名为`...
Struts2集成了Apache Commons Validator,可以通过配置XML文件定义校验规则。在struts.xml文件中配置`<validators>`元素,然后在Action类中创建一个ValidatorForm对象,将表单字段映射到该对象的属性,即可应用预...
本资料"Struts2_1100_SimpleDataValiation"提供了关于Struts2简单数据校验的源码,这将有助于我们深入理解Struts2的数据校验机制。 1. **Struts2数据校验框架概述** - Struts2的数据校验框架是基于OGNL(Object-...
本篇笔记将详细讲解Struts2中服务器端与客户端对表单数据的校验方式。 首先,Struts2提供了一系列内置的校验器,包括: 1. Irequired:检查字段是否为空,是必填项。 2. IIrequiredstring:验证字段是否为非空字符...
本文将深入探讨Struts2校验框架的应用,包括其核心概念、配置方式、以及如何在实际项目中实现数据验证。 **1. Struts2校验框架基础** Struts2的校验框架是基于Apache Commons Validator库的,它允许开发者定义校验...