欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

struts 1.x 动态验证框架 框架StrutsXMLApacheBlog 

程序员文章站 2022-07-14 13:00:15
...
引用:http://hi.baidu.com/xuchao_duizhang/blog/item/83ccda11769a7dcba7ef3ff0.html

1. 在Struts_config.xml 中配置 动态验证框架
    <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
        <set-property property="pathnames"
            value="/WEB-INF/validator-rules.xml, /WEB-INF/validation.xml" />
    </plug-in>
    validator-rules.xml为规则,略
   
    validation.xml为自己需要验证的表单信息

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE form-validation PUBLIC
   "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
            "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">
<form-validation>
    <formset>
        <form name="loginForm">
            <field property="username" depends="required">
                <msg name="required" key="errors.required.username" />
            </field>
            <field property="password" depends="required">
                <msg name="required" key="errors.required.password" />
            </field>
            <field property="type" depends="required">
                <msg name="required" key="errors.required.type" />
            </field>
        </form>
    </formset>
</form-validation>

2.在Struts_config.xml 中配置 错误提示信息
    动态验证框架<message-resources parameter="MessageResources_CN" />
    为显示中文信息,使用native2ascii命令,把MessageResources.properties
    编码为 utf-8 个格式的MessageResources_CN.properties
目录结构:



    提示信息:



3.Actoin的基本配置信息,validate设为true
        <action attribute="loginForm" input="/login.jsp" name="loginForm"
            path="/login" scope="request" type="com.jiaowu.struts.action.LoginAction"
            validate="true">
            <set-property property="cancellable" value="true" />
            <forward name="loginSuccess_stu" path="/stu/stuMain.jsp" />
            <forward name="loginFail" path="/login.jsp" />
        </action>
    同是,ActionForm 不能重写reset和validate方法,否则会出错

4.服务器端验证,普通struts标签,提示通过 <html:errors>显示
        <html:form action="/login">
            学生<html:radio property="type" value="stu"/>|
            教师<html:radio property="type" value="tea"/><br>
            <html:errors property="type"/><br/>
            用户名 : <html:text property="username"/><html:errors property="username"/><br/>
            密码 : <html:password property="password"/><html:errors property="password"/><br/>
            <html:submit value="登陆"/><html:cancel value="取消"/>
        </html:form>




5.客户端验证,自动生成js,极为强大
        <html:javascript formName="loginForm"/>
        <html:form action="/login" onsubmit="return validateLoginForm(this);">
            学生<html:radio property="type" value="stu"/>|
            教师<html:radio property="type" value="tea"/><br>
            <html:errors property="type"/><br/>
            用户名 : <html:text property="username"/><html:errors property="username"/><br/>
            密码 : <html:password property="password"/><html:errors property="password"/><br/>
            <html:submit value="登陆"/><html:cancel value="取消"/>
        </html:form>