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的完整類路徑和類名,該屬性必須填寫!
例子:

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

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

<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()方法驗證表單的數據。默認為true


另外<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>子元素。
例:

<!-- 全局轉發 -->
  <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:指定消息資源文件存放路徑。
  例:

<!-- 資源文件 -->
  <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>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM