<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Everything is a contribution

    走過Java的點點滴滴,與大家共勉~
    隨筆 - 21, 文章 - 0, 評論 - 10, 引用 - 0
    數據加載中……

    在struts中使用validator執行UI驗證

    在使用struts時,如果使用common validator進行頁面數據的有效性驗證時,可以減少很多代碼量,通過配置文件就可以方便的進行數據的校驗工作.

    在做所有的配置前,先檢查jsp頁面是否有以下內容(沒有請添加上):
    <%-- Error Messages --%>
    <logic:messagesPresent>
        <div class="error">
            <html:messages id="error">
                <c:out value="${error}"/><br/>
            </html:messages>
        </div>
    </logic:messagesPresent>

    <%-- Success Messages --%>
    <logic:messagesPresent message="true">
        <div class="message">
            <html:messages id="message" message="true">
                <c:out value="${message}"/><br/>
            </html:messages>
        </div>
    </logic:messagesPresent>

    其中的css可以自己根據需要定義,上面使用JSTL標簽.

    使用validator需要進行如下配置:
    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>

    2) 配置validation.xml文件,內容如下:
    <form-validation>
        <formset>
            <form name="loginForm">
                <field property="userid" depends="required">
                    <arg0 key="login.user.id" />
                </field>
                <field property="password" depends="required">
                    <arg0 key="login.password" />
                </field>
                <field property="repasswd" depends="required">
                    <arg0 key="login.password.retry" />
                </field>
                <field property="username" depends="required">
                    <arg0 key="login.username" />
                </field>
                <field property="sex" depends="required">
                    <arg0 key="login.sex" />
                </field>
                <field property="college" depends="required">
                    <arg0 key="login.college" />
                </field>
                <field property="department" depends="required">
                    <arg0 key="login.department" />
                </field>
                <field property="idNumber" depends="required">
                    <arg0 key="login.id.number" />
                </field>
                <field property="birthday" depends="required, date">
                    <arg0 key="login.birthday" />
                </field>
                <field property="telephone" depends="required">
                    <arg0 key="login.telephone" />
                </field>
                <field property="email" depends="required, email">
                    <arg0 key="login.email" />
                </field>
            </form>
        </formset>
    </form-validation>


    3) 在struts中設置對應的action的validate值為true:
    <action path="/login" name="loginForm" parameter="method" type="com.timeshonor.struts.action.LoginAction" validate="true" input="/login.jsp">
        <forward name="success" path="/success.jsp" />
    </action>
    如果使用的是動態Form,則在struts-config.xml中會有如下配置:
    <form-bean name="loginForm" type="org.apache.struts.validator.DynaValidatorForm">
        <form-property name="userid" type="java.lang.String" />
        <form-property name="password" type="java.lang.String" />
        <form-property name="repasswd" type="java.lang.String" />
        <form-property name="username" type="java.lang.String" />
        <form-property name="sex" type="java.lang.String" />
        <form-property name="college" type="java.lang.String" />
        <form-property name="department" type="java.lang.String" />
        <form-property name="idNumber" type="java.lang.String" />
        <form-property name="birthday" type="java.lang.String" />
        <form-property name="telephone" type="java.lang.String" />
        <form-property name="email" type="java.lang.String" />
    </form-bean>
    注:validator插件不支持struts的ActionForm驗證,只支持
    DynaValidatorForm和ValidatorForm驗證,如果不使用動態form可以讓需要驗證的Form類從ValidatorForm繼承,不需要實現validate方法.

    4) 執行完1、2、3步就可以執行UI服務器端驗證,如果想配置前臺javascript驗證時,還需要做如下配置:
    a) 修改對應的頁面form
    為如下內容:
    <html:form action="/login" method="post" onsubmit="return validateLoginForm(this);">
    b) 確保下面這一行內容在對應頁面的form里:
    <html:submit>提交</html:submit>
    c) 在頁面的form元素后面添加以下內容:
    <html:javascript formName="loginForm" dynamicJavascript="true" staticJavascript="true" />

    posted on 2007-11-26 10:45 Kevin Xia 閱讀(520) 評論(0)  編輯  收藏 所屬分類: Java開發

    主站蜘蛛池模板: 国产亚洲A∨片在线观看| 日本一道本高清免费| 亚洲国产精品无码久久一线| 精品国产日韩亚洲一区在线| 午夜a级成人免费毛片| 久久亚洲精品专区蓝色区| 97热久久免费频精品99| 亚洲中文字幕AV在天堂| 成年网站免费视频A在线双飞| 亚洲中文字幕日本无线码| 在线观看免费为成年视频| 国产久爱免费精品视频| 亚洲国产精品无码久久九九| 国产免费牲交视频免费播放| 亚洲日本乱码在线观看| 亚洲中文字幕无码av在线| 国产人在线成免费视频| 亚洲性色AV日韩在线观看| 青草草在线视频永久免费| 青青草97国产精品免费观看| 国产亚洲色婷婷久久99精品| 99re在线这里只有精品免费| 77777亚洲午夜久久多人| 美国毛片亚洲社区在线观看| 国产AV无码专区亚洲AWWW| 无人在线观看免费高清| 亚洲国产日韩综合久久精品| 亚洲AⅤ无码一区二区三区在线| 91成人免费观看在线观看| 久久综合亚洲色一区二区三区 | 日本免费在线观看| 日产亚洲一区二区三区| 免费毛片在线视频| 韩日电影在线播放免费版| 中文字幕亚洲码在线| 亚洲一区二区三区香蕉| 久久天天躁狠狠躁夜夜免费观看| 伊人久久国产免费观看视频| 亚洲成a人片77777群色| 亚洲精品乱码久久久久久不卡| 91老湿机福利免费体验|