Struts2框架校验(十)

来源:互联网 发布:生物软件下载 编辑:程序博客网 时间:2024/06/07 18:56

(一)框架校验

(一)执行流程.1.提交表单——2.Action类名–validation.xml对表单进行验证。校验正确跳转到Action中执行。校验错误跳转到原提交表单JSP并显示错误信息.
(二)注意事项:
1.Action类名–validation.xml必须创建在Action类所在的包下。只有这样此文件才有校验效果。
2.校验文件必须满足:Action名称—validation.xml,因为每一个Action都有一个校验文件, 只有这样编写校验文件名称,才能识别出它要处理的Action类。

(二) Action名称-validation.xml的配置

1.校验数据的类型有:

此包下:/com/opensymphony/xwork2/validator/validators/default.xml<?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 -->

2.Action名称-validation.xml的配置

<validators>       <!--1.校验Action下的username属性-->       <field name="user.username">        <!--2.RequiredStringValidator对表单的username进行校验,其他类型的数据,由相应的校验器来处理-->            <field-validator type="requiredstring">               <!--3.向校验器类中传递参数值为true-->               <param name="trim">true</param>               <!--4.显示错误信息-->               <message>账号不能为空</message>        </field-validator><validators>               

(三)实例演示

1.编写一个表单JSP

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ taglib prefix="s" uri="/struts-tags" %>   <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>手动输入验证</title></head><body>     <!--使用<s:fielderror/>显示输出错误信息提示,不在表单前面添加此标签,无法看到验证错误信息-->     <s:fielderror/>     <form action="validate" method="post">                                    账号:<input type="text" name="user.username"/><br><br>                                    密码:<input type="password" name="user.password"/><br><br>                                    年龄:<input type="text" name="user.age"/><br><br>                                    生日:<input type="text" name="user.birth"/><br><br>            <input type="submit" value="登陆">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="reset" value="清空">                              </form></body></html>

2.在Action类所在的包下创建UserAction-validation.xml配置文件

<?xml version="1.0" encoding="UTF-8"?><!-- 1.指定校验配置文件的DTD信息 ,本版为1.0.3--><!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN"        "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">        <!-- 2.编写校验文件根元素 -->         <validators>            <!--3.校验Action中的属性username-->            <field name="user.username">               <field-validator type="requiredstring">                    <param name="trim">true</param>                    <message>账号不能为空</message>               </field-validator>               <field-validator type="regex">                     <param name="regex"><![CDATA[(\w{4,25})]]></param>                     <message>输入账号只能是数值或字母,且长度必须在4到 25之间</message>               </field-validator>            </field>              <!--4.校验Action中的属性password-->            <field name="user.password">                <field-validator type="requiredstring">                    <param name="trim">true</param>                    <message>密码不能为空</message>                </field-validator>                <field-validator type="regex">                     <param name="regex"><![CDATA[(\w{4,25})]]></param>                     <message>输入密码只能是数值或字母,且长度必须在4到 25之间</message>               </field-validator>            </field>              <!--5.校验Action中的属性age-->             <field name="user.age">                <field-validator type="int">                    <param name="min">1</param>                    <param name="max">150</param>                    <message>输入年龄必须在1到150之间</message>                </field-validator>                </field>              <!--6.校验Action中的属性birth-->              <field name="user.birth">                <field-validator type="date">                    <param name="min">1900-01-01</param>                    <param name="max">2050-01-01</param>                    <message>生日必须在${min}到${max}之间</message>                </field-validator>                  </field>         </validators>

3.创建struts.xml配置文件

<?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="wang" namespace="/" extends="struts-default">        <action name="validate" class="com.wang.UserAction">           <!--1.校验成功,跳转到success.jsp-->           <result>/success.jsp</result>               <!--2.类型转换失败或校验失败,转换到index.jsp-->            <result name="input">/index.jsp</result>        </action>    </package></struts>

4.编写Action类

package com.wang;import com.opensymphony.xwork2.ActionSupport;public class UserAction extends ActionSupport {    private static final long serialVersionUID = 1L;    private User user;    public User getUser() {        return user;    }    public void setUser(User user) {        this.user = user;    }}

5.编写User类

package com.wang;import java.util.Date;public class User {    private String username;    private String password;    private int age;    private Date birth;     .........setter,getter方法}

6.结果演示


这里写图片描述


阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 周三沈晴到了胡疤子家 攻略初汉 晴了 晴了作品隋唐君子 眼晴长了脂肪粒怎么办 眼晴肿了怎么快速消肿 隋唐君子演义 晴了 八百比丘尼等了晴明多久 妞,我们被你俘虏了 石雨无晴 自古红楼出才子 晴了 霸道女皇爱上我 晴了 我的锦鲤运又发作了 晴日如鱼 古斯华羽晴第二部 等一人终老温晴贺景辰 如月晴人 晴人 晴人结局 时缟晴人 无法触碰的掌心晴人 无法触碰的掌心晴人攻略 晴儿 晴儿扮演者 晴儿的田园生活 晴儿的扮演者 晴儿的田园生活txt 晴儿的田园生活书书网 晴儿的田园生活书包 晴儿田园生活 晴天 晴天遇暴雨 晴天歌词 晴天辅助 朗朗晴天 晴天简谱 小晴天 晴天霹雳 晴天钢琴谱 晴天图片 晴天 歌词 晴天英文 晴天下载 晴天的图片