首页 > 其他 > 详细

struts2 xml文件校验方式

时间:2015-07-13 02:05:01      阅读:289      评论:0      收藏:0      [点我收藏+]

struts2中xml文件校验方式

?

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

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

http://fanshuyao.iteye.com/

?

?

第一步:

在Action所在的包,新建一个名称为“Action名称-validation.xml”的xml文件。

如:LoginAction.java对应的校验xml为LoginAction-validation.xml


bubuko.com,布布扣
?

?

?

第二步:配置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/

?

?

?

?

struts2 xml文件校验方式

原文:http://fanshuyao.iteye.com/blog/2226625

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!