透过配置文件XML实现简单验证

通过配置文件XML实现简单验证

通过框架实现验证,缓解Action中的负担

通过验证输入的数据只能在0-100之间的简单实例来实现框架的验证功能


请求的顺序由外向内依次需要的文件


一个简单的JSP页面(validateTest.jsp)+验证的XML文件(validateTestAction-validation.xml)+一个简单(ActionvalidateTestAction.java)+在Struts.xml文件中对Action进行配置


简单JSP页面:validateTest.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title>通过框架验证数据简单实例</title>
    </head>
    <body>
        <center>
            <h3>
                ${returnmsg}
            </h3>
            <s:form action="validateTest.do">
                <s:textfield name="message" label="需要验证的数据" />
                <s:submit value="提交" />
            </s:form>
        </center>
    </body>
</html>

 


验证的XML文件:validateTestAction-validation.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
    <field name="message">
        <field-validator type="int">
            <param name="min">0</param>
            <param name="max">100</param>
            <message>输入的数据必须在0-100之间</message>
        </field-validator>
    </field>
</validators>

 


一个简单:ActionvalidateTestAction.java

package Struts.action;

import com.opensymphony.xwork2.ActionSupport;

@SuppressWarnings("serial")
public class validateTestAction extends ActionSupport {
   
    private Integer message;
   
    private String returnmsg;

    public String getReturnmsg() {
        return returnmsg;
    }

    public void setReturnmsg(String returnmsg) {
        this.returnmsg = returnmsg;
    }

    public Integer getMessage() {
        return message;
    }

    public void setMessage(Integer message) {
        this.message = message;
    }
   
    public String execute()throws Exception{
        returnmsg = "数据"+message+"在0-100之间!";
        return SUCCESS;
    }
}

 


在Struts.xml文件中对Action进行配置

<action name="validateTest" class="Struts.action.validateTestAction">
            <!--  当result中没有指定name时默认为SUCCESS   -->
            <result>/validateTest.jsp</result>
            <!--   input是发生错误时的默认跳转,当验证发生错误时会进入该跳转中  -->
            <result name="input">/validateTest.jsp</result>
</action> 


框架验证需要消耗资源,一般简单的对数据的类型,范围等的验证只要通过javaScript就可以完成,不需要框架来验证,有些验证也可以用AJAX来做