您的位置:首页 > 其它

第二十二章 基于XML配置方式实现对action的所有方法进行校验

2012-02-16 06:12 826 查看
index.jsp 输入页面:

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>输入校验</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0"> 
  </head>
  
  <body>
   <s:fielderror/>  <!-- 输出校验信息 -->
   <form action="${pageContext.request.contextPath}/person/manage_update.action" method="post">
   		用户名:<input type="text" name="username"/>不能为空<br/>
   		手机号:<input type="text" name="mobile"/>不能为空,并且要符合手机号的格式1,3/5/8,后面是9个数字<br/>
   		<input type="submit" value="提 交"/></form>
  </body>
</html>


PersonAction.java

PersonAction-validation.xml

两个文件在同一个包中:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.3//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.3.dtd"> 
<validators>
    <field name="username">
        <field-validator type="requiredstring">
            <param name="trim">true</param>
            <message>用户名不能为空!</message>
        </field-validator>
    </field>
    <field name="mobile">
        <field-validator type="requiredstring">
            <message>手机号不能为空!</message>
        </field-validator>
        <field-validator type="regex">
		     <param name="expression"><![CDATA[^1[358]\d{9}$]]></param>
		     <message>手机号格式不正确!</message>
		</field-validator>
    </field>
</validators>


如果输入用户名为空,则校验后,会提示用户名不为空! 手机号同理。

注意:校验后返回的页面配置必须是input ,web.xml:

<package name="login"  extends="struts-default">  
        <action name="loginAction"  class="com.ck.login.LoginAction" method="execute">  
            <result name="success">/WEB-INF/jsp/admin/index_admin.jsp</result>  
            <result name="success2">/WEB-INF/jsp/student/index_student.jsp</result> 
            <result name="failed">index.jsp</result>
            <result name="input">index.jsp</result>   //校验后返回的视图
        </action>  
    </package>


struts2提供的校验器列表:

required 必填校验器,要求field值不能为null

requiredstring 必填字符串校验器,要求field值不能为null,并且长度大于0,默认取出前后空格

stringlength 字符串长度校验器,要求field的值必须在指定范围内。 minLength最小长度 maxLength最大长度 trim是否取出前后空格

regex 正则表达式校验器,expression参数指定正则表达式,caseSensitive指定进行正则表达式匹配时,是否区分大小写,默认true

int 整数校验器,必须为整数,min最小值,max最大值

double 双精度校验器,要求在指定范围内,min最小值,max最大值

fieldexpression 字段OGNL表达式校验器,要求field满足一个ognl表达式,expression参数指定ognl表达式,该逻辑表达式基于ValueStack进行求值,返回true

时校验通过,否则不通过

email 邮件地址校验器,要求field值非空,且必须是合法的邮件地址

url 网址校验器,要求如果field的值非空,且必须是合法的url地址

date 日期校验器,field的日期必须在指定范围内,min最小值,max最大值

conversion 转换校验器,指定类型转换失败时,提示错误信息

visitor 校验action中的复合属性,指定一个校验文件用于校验复合属性中的属性

expression 通fieldexpression,该校验器不可用于字段校验器风格的配置中
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐