struts2 xml文件校验方式

112 篇文章 0 订阅
46 篇文章 0 订阅

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/

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值