struts1:Struts配置文件初解

struts-config.xml是Struts的核心文件。該文件可配置各類組件,包括,FormBeans,Actions,ActionMappings,全局轉發GlobalForwards,數據源DataSources及插件Plugin,這篇文件我結合在(Struts重構)構建一個簡單的基於MVC模式的JavaWeb一文來講說Struts配置文件struts-config.xml的主要元素!
<form-beans>元素
<form-beans>元素容許配置多個ActionForm類,能夠包含零個或多個<form-bean>子元素。其主要元素以下所示:
calssName :可選。指定和<form-bean>元素對應的配置類,默認值這org.apache.struts.config.FormBeanConfig,自定義的配置類必須擴展該類。
name:指定該ActionForm的唯一標識名,Struts框架用該標識來引用這個form bean,該屬性必須填寫!
type:指定ActionForm的完整類路徑和類名,該屬性必須填寫!
例子:html

<form-bean name="studentForm" type="struts.form.StudentForm" />

若是配置動態ActionForm(DynaActionForm),則還必須配置<form-bean>元素的<form-property>子元素,用來指定表單字段,
例子:java

<form-bean name="dynaFormForm" type="org.apache.struts.action.DynaActionForm ">
      <form-property name="userName" type="java.lang.String" />
      <form-property name="userPwd" type="java.lang.String" />
</form-bean>

<action-mappings>元素
<action-mappings>元素幫助進行框架內部的流程控制,能夠將 請求URI映射到Action類,將Action對象與ActionForm對象相關聯。
<action-mappings>元素內可定義多個<action>子元素。<action>元素所描述的是特定的請求路徑和一個相應的Action類之間的映射關係。Struts控制器會將請求中的URI路徑與諸多<action>元素中的path屬性相匹配,以選出一個特定的映射。其有如下屬性:
attribute:設置和Action關聯的form bean在request/session內的屬性key,經過request/session的getAttribute(attribute)方法返回該form bean實例。
className:和<action>元素對應的配置元素。默認爲org.apache.struts.action.ActionMapping
forward:指定局部轉發項。
include:指定包含的URL路徑。
input:指定表單輸入頁的URL路徑。當表單驗證失敗時將請求轉發到該URL。
name:指定同該Action關聯的form bean的引用標識。
path:指定Action的訪問路徑,即該Action在引用中的標識名,以"/"開頭。
parameter:指定容許調用該Action的參數。在Action類的execute()方法中調用ActionMapping對象的getParameter()方法來讀取。
roles:指定容許調用該Action類關聯的安全角色。多個角色之間用逗號分隔。
scope:指定同該Action類關聯的form bean的存在範圍。可選request和session,默認爲session.
type:指定該Action類的完整類路徑和類名。
unknown:若該屬性爲true,則能夠處理用戶發出的無效ActionURL.默認爲false。
validate:指定是否調用form bean的validate()方法驗證表單的數據。默認爲trueapache


另外<action>元素中可包含零個或多個<forward>子元素。<forward>子元素定義了轉發動做。它的主要屬性以下:
name:指定轉向的標識名。
path:指定轉向標識名所對應的轉向頁面
redirect:指定是轉發仍是重定向。
例:安全

<action-mappings >
      <action    attribute="dynaFormForm" 
          input="/dynaForm.jsp"
          name="dynaFormForm"
          path="/dynaFormForm"          
          scope="request"
          validate="true"
          type="struts.action.LoginHandlerAction">
          <forward name="success" path="/main.jsp" />
          <forward name="fail" path="/register.jsp" />
      </action>


<global-forwards>元素
<global-forwards>元素用於定義在整個應用程序內的全局轉發。在該元素內可定義多個<forward>子元素。
例:session

<!-- 全局轉發 -->
  <global-forwards>
      <forward name="index" path="/index"></forward>
  </global-forwards>


<message-resources>元素
  <message-resources>元素用於配置消息資源文件(Resources Bundle),以在應用客戶端界面中輸出本地化消息文本。其主要屬性以下:
  className:指定和<form-bean>元素對應的配置類,默認值爲org.apache.struts.config.MessageResourcesConfig
  factory:指定消息資源的工廠類,默認爲org.apache.struts.util.PropertyMessageResourcesFactory
  key:指定資源文件存放在ServletContext對象中時使用的屬性key。默認爲Globals.MESSAGE_KEY定義的字符串常量
  null:指定MessageResources對未知消息的處理方式。若爲true將返回空字符串,若爲false則返回相似以"??global.label.missing???"字符串。默認爲true。
  parameter:指定消息資源文件存放路徑。
  例:app

<!-- 資源文件 -->
  <message-resources parameter="struts.ApplicationResources" />
            <!--存放在struts包下.注意不要寫成struts/ApplicationResources-->

<plug-in>元素
主要用於定義添加至struts應用中的插件
例:框架

    <!-- 驗證插件 -->   
  <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
    <set-property property="pathnames"  value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
  </plug-in>
相關文章
相關標籤/搜索