struts2校验框架校验

struts2提供了validate框架进行验证

例子

第一步创建ValidateAction.java

public class validate extends ActionSupport{
    private String username;
    private String password;
    //get()和set()方法,构造方法

第二步编写验证规则配置文件

在当前包下创建ValidationAction-validation.xml文件。
该文件可以在我们下载的struts2的包里找到:路径如下:struts-2.3.15.3\apps\struts2-blank\WEB-INF\classes\example\Login-validation.xml

在Struts2中,该XML格式的校验规则配置文件的命名也有规定,需按照以下格式命名:
ActionClassName-validation.xml

ActionClassName-ActionName-validation.xml
其中ActionName为struts.xml中为action配置的名称,这里我们采用第一种命名规则

ValidationAction-validation.xml

<!DOCTYPE validators PUBLIC
        "-//Apache Struts//XWork Validator 1.0.2//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>
    <field name="age">
        <field-validator type="int"><!-- 必须是整数 -->
            <param name="min">13</param>
            <param name="max">20</param>
            <message>必须是数字在13到20之间</message>
        </field-validator>
    </field>
    <field name="password">
        <field-validator type="stringlength"><!--字符串长度 -->
            <param name="minLength">6</param>
            <param name="maxLength">10</param>
            <message>密码最少6位最多10位</message>
        </field-validator>
    </field>
</validators>

第三步:在struts.xml中配置Action类

<package name="formTest03" namespace="/" extends="struts-default">

        <action name="validate" class = "formTest03.validate" method="execute">
            <result name="success">/success.jsp</result>
            <result name="input">/validate2.jsp</result>
        </action>       
    </package>

第四步:编写JSP页面 validation.jsp


  <body>
    <s:form action="validate" method="post">
        <s:fielderror>
            <s:param>username</s:param>
            <s:param>password</s:param>
            <s:param>age</s:param>
        </s:fielderror>
        <s:textfield name="username" label="姓名"></s:textfield>
        <s:textfield name="password" label="密码"></s:textfield>
        <s:textfield name ="age" label="年龄"></s:textfield>      
        <s:submit value="提交"></s:submit>
    </s:form>
  </body>

这里写图片描述

猜你喜欢

转载自blog.csdn.net/xiao_ma_csdn/article/details/79651829
今日推荐