现在的位置: 首页 > 综合 > 正文

ajax+struts-i18n,validate framework(3)

2012年11月08日 ⁄ 综合 ⁄ 共 2545字 ⁄ 字号 评论关闭
 

这里是我们Struts应用的核心配置文件struts-config.xml,它把各种动作,动作表单,请求以及验证关联在一起形成可用的Web应用的黏合剂,这部分内容相信大家有Struts的底子,会很容易看懂:

 

<?xml version="1.0" encoding="utf-8" ?>

<!DOCTYPE struts-config PUBLIC

          "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"

          "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">

<struts-config>

<!-- form-beans -->

       <form-beans>

              <form-bean name="reservationForm"

                     type="org.leno.struts.action.ReservationForm" />

       </form-beans>

<!-- action-mappings -->

       <action-mappings>

              <action path="/reservation"

                     type="org.apache.struts.actions.ForwardAction" name="reservationForm"

                     scope="request" parameter="/hotelReservation.jsp" />

 

              <action path="/validateReservation"

                     type="org.leno.struts.action.ValidateReservationAction"

                     name="reservationForm" validate="true"

                     input="/jsp/validation/reservationErrors.jsp">

                     <forward name="valid" path="/jsp/validation/blank.jsp" />

              </action>

 

              <action path="/saveReservation"

                     type="org.leno.struts.action.SaveReservationAction"

                     name="reservationForm" validate="true"

                     input="/hotelReservation.jsp">

                     <forward name="success"

                            path="/jsp/validation/reservationSuccessful.jsp" />

                     <forward name="fail" path="/hotelReservation.jsp" />

              </action>

       </action-mappings>

<!-- message-resources  -->

       <message-resources parameter="org/leno/struts/ApplicationResources" />

<!-- plug-in  -->

       <plug-in className="org.apache.struts.validator.ValidatorPlugIn">

              <set-property property="pathnames"

                     value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />

       </plug-in>

 

</struts-config>

 

在这个应用中只有一个动作表单:ReservationForm类,它是一个扩展了ValidatorActionForm类的简单Javabean风格的对象,它为每个表单元素提供了公共的获取方法和设置方法。细心的同志已经发现了,ReservationForm并不是扩展ValidatorForm类,而是扩展ValidatorActionForm类。那么,这两种扩展有什么区别呢?简单点说,扩展ValidatorActionForm意味着validation.xml中的验证规则会基于请求的路径应用到请求上;扩展ValidatorForm意味着validation.xml中的验证规则会基于请求使用的表单bean应用到请求上。下面是ReservationForm的代码

 

package org.leno.struts.action;

 

import java.text.*;

import java.util.Date;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.*;

import org.apache.struts.validator.ValidatorActionForm;

 

public class ReservationForm extends ValidatorActionForm {

    private String arrivalDate;

    private String departDate;

    private String smokingPref

抱歉!评论已关闭.