`
阅读更多

struts2中xml文件校验方式

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

蕃薯耀 2015年7月12日 11:17:34 星期日

http://fanshuyao.iteye.com/

 

 

第一步:

在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 星期日

http://fanshuyao.iteye.com/

 

 

 

 

  • 大小: 4.2 KB
4
3
分享到:
评论

相关推荐

    struts2的输入校验

    struts2的输入校验有两种方式: 一.重写validate()方式 二.采用配置文件的方式 先我们就以一个简单的登录的例子来讲解这个吧. 重点讲解下,第二个采用配置文件的方式: 1.添加一个xml的校验文件,保存在...

    Struts2的输入校验

    Struts2的输入校验配置主要通过XML文件进行,这个文件通常命名为`&lt;Action-name&gt;-validation.xml`,并放置在与Action类相同的包内。例如,一个名为`RegistAction`的Action对应的校验文件可能是`RegistAction-...

    Struts2 校验器

    3. **配置校验规则**:Struts2的校验规则可以通过XML或注解方式定义。XML方式通常在struts.xml或相应的action类配置文件中定义,而注解方式则直接在Action类的属性上标注,例如使用`@RequiredString`、`@Size`等。 ...

    Struts2输入校验总结

    反之,如果校验失败,会转向`input`视图资源,通常是在Struts2配置文件中指定的,用于显示错误信息给用户。 #### 三、基于验证框架的输入校验 除了手动校验,Struts2还提供了一个强大的验证框架,支持更复杂的校验...

    struts2的数据校验

    Struts2提供了多种数据校验方式,包括基于注解的校验、基于XML配置的校验和自定义校验。 1. **基于注解的校验**: Struts2集成Spring的Validation框架,允许开发者在Action类的属性上使用JSR303/JSR349(Bean ...

    struts2官方例子7-表单验证 xml形式的验证

    总结起来,Struts2的XML表单验证是通过创建XML文件定义验证规则,然后在Action类中处理数据,通过框架自动进行验证并返回错误信息。这种方式使得验证逻辑与业务逻辑分离,提高了代码的可维护性和复用性。对于大型...

    struts2文件上传,与struts2-xml校验

    struts2文件上传,与xml校验 struts2文件校验可通过xml配对action的名称去校验属性的值。例如UploadAction.java中有一个book的属性。那么我可以定义一个UploadAction-validation.xml去校验这个book属性的内容。 xml的...

    struts2输入校验

    在Struts2中,输入校验通常分为两种方式:客户端校验和服务器端校验。客户端校验主要通过JavaScript在用户端进行,可以提供即时反馈,但安全性较低,因为用户可以禁用JavaScript或绕过校验。服务器端校验则是在...

    struts2标签+校验+SSH

    然后,配置Struts2的核心配置文件struts.xml,该文件位于WEB-INF/classes目录下,用于定义Action、Interceptor、结果页面等信息。 总结来说,Struts2作为一款强大的MVC框架,通过其无侵入式设计、拦截器、类型转换...

    struts2 简单数据校验

    - 在Action类中,定义需要校验的字段,并添加`@Validated`注解或者使用Struts2的XML配置文件来指定需要校验的属性。 - 创建一个ValidatorForm或者继承ActionSupport的Action类,这些类包含了内置的校验逻辑。 - ...

    Struts2简单数据校验源码

    在Struts2中,数据校验的配置通常有两种方式:XML配置和注解方式。XML配置是在struts.xml文件中定义Action类及其对应的验证规则,而注解方式则是直接在Action类或字段上使用特定的注解来指定验证规则。 1. **XML...

    struts2-login校验.rar

    在这个名为"struts2-login校验.rar"的压缩包中,我们很显然会看到一个关于Struts2登录验证的实现,涉及到admin和user两个不同角色的登录页面。 首先,我们需要了解Struts2的核心概念,如Action和Result。Action是...

    使用struts2进行输入校验

    本篇文章将详细介绍如何在Struts2中进行输入校验,包括两种主要实现方式:使用Action中的`validate()`方法和使用XML文件。 1. 使用Action中的`validate()`方法: 在Struts2中,每个Action类都可以包含一个名为`...

    struts2输入校验深入总结

    Struts2集成了Apache Commons Validator,可以通过配置XML文件定义校验规则。在struts.xml文件中配置`&lt;validators&gt;`元素,然后在Action类中创建一个ValidatorForm对象,将表单字段映射到该对象的属性,即可应用预...

    Struts2简单数据校验源码 20120417

    本资料"Struts2_1100_SimpleDataValiation"提供了关于Struts2简单数据校验的源码,这将有助于我们深入理解Struts2的数据校验机制。 1. **Struts2数据校验框架概述** - Struts2的数据校验框架是基于OGNL(Object-...

    struts2笔记之校验表单信息

    本篇笔记将详细讲解Struts2中服务器端与客户端对表单数据的校验方式。 首先,Struts2提供了一系列内置的校验器,包括: 1. Irequired:检查字段是否为空,是必填项。 2. IIrequiredstring:验证字段是否为非空字符...

    Struts2校验框架应用

    本文将深入探讨Struts2校验框架的应用,包括其核心概念、配置方式、以及如何在实际项目中实现数据验证。 **1. Struts2校验框架基础** Struts2的校验框架是基于Apache Commons Validator库的,它允许开发者定义校验...

Global site tag (gtag.js) - Google Analytics