Love Pisces

It's not your aptitude but your attitude that determines your altitude!
posts - 2, comments - 43, trackbacks - 0, articles - 9

Struts详解之struts-config.xml

Posted on 2007-06-02 10:15 筱筱 阅读(1093) 评论(0)  编辑  收藏 所属分类: Struts学习日记

Struts配置文件struts-config.xml

      该文件可配置各种组件,包括 form bean,Actions,ActionMappings,全局转发GlobalForwards,数据源DataSource及插件Plugins。
例如:
      <struts-config>
         <form-beans>
            <form-bean name="loginAction" type="login.loginActionForm" />
         </form-beans>
         <action-mappings>
            <action name="loginActionForm" type="login.loginAction"
                        validate="false" input="/login.jsp"
                        scope="request" path="/loginAction" >
                  <forward name="Success" path="/main.jsp"/>
                  <forward name="Fail" path="/register.jsp"/>
            </action>
         </action-mappings>
      </struts-config>
      在此例中,根元素是<struts-config>,它包含两个主要的元素<form-beans>和<action-mappings>,分别描述了系统中的ActionForm对象和Action对象。

struts-config.xml的主要元素及作用如下:

      ·<struts-config>:根元素
      ·<form-beans>:描述一组ActionForm对象
      ·<action-mappings>:描述一组Action对象
      ·<global-forwards>:定义在整个应用程序内可见的全局转发
      ·<data-source>:定义数据源
      ·<global-exception>:定义全局异常
      ·<controller>:用于配置控制类
      ·<message-resources>:用于配置消息资源包
      ·<plug-in>:用于定义添加至Struts应用中的插件

1.<form-beans>元素(用于描述ActionForm对象)
      <form-beans>元素允许配置多个ActionForm类。它可包含零个或多个<form-bean>子元素。
      <form-bean>元素的主要属性如下:
      ·className:可选,指定和<form-bean>元素对应的配置类,默认值为org.apache.struts.config.FormBeanConfig,自定义的配置类必须扩展该类。
      ·name:指定该ActionForm的唯一标识,Struts框架用该标识来引用这个form bean,该属性必须指定。
      ·type:指定ActionForm的完整类路径和类名,该属性必须指定。
      如果配置了动态ActionForm(DynaActionForm),则还必须配置<form-bean>元素的<form-property>子元素,用来指定表单字段。

2.<action-mappings>元素(用于描述Action对象)
      <action-mappings>元素帮助进行框架内部的流程控制,可将请求URI映射到Action类,将Action对象与ActionForm对象相关联。
      <action-mappings>元素内可以定义多个<action>子元素。<action>元素所描述的是特定的请求路径和一个相应Action类之间的映射关系。Struts控制器会将请求中的URI路径与诸多<action>元素中的path属性相匹配,以选出一个特定的映射。
      <action-mappings>元素的主要属性如下:
      ·attribute:设置和Action关联的forn bean在request/session内的属性key,通过request/session的getAttribute(attribute)方法返回该form bean的实例。
      ·name:指定同该Action关联的form bean的引用标识。
      ·type:指定该Action类的完整类路径和类名。
      ·validate:指定是否调用form bean的validate()方法验证表单的数据,默认为true。
      ·input:指定表单输出页面的URL路径,当表单验证失败时将请求转发到该URL。
      ·scope:指定同该Action类关联的forn bean的存在范围,可选request和session,默认为session。
      ·path:指定Action的访问路径,即该Action在引用中的标识名,以“/”开头。
      <action>元素中可包含零个或多个<forward>子元素,<forward>子元素定义了转发动作,它的主要属性如下所示:
      ·name:指定转向标识名。
      ·path:指定转向标识名所对应的转向页面。
      ·redirect:指定是转发还是重定向。

3.<global-forwardvs>元素
      <global-forwards>元素用来定义在整个应用程序内的全局转发,在该元素内可以定义多个<forward>子元素。例如:
      <global-forwards>
            <forward name="Success" path="/main.jsp"/>
            <forward name="Fail" path="/register.jsp"/>
      </global-forwards>

4.<message-resources>元素
      <message-resources>元素用于配置消息资源文件(Resource Bundle),以在应用的客户端界面中输出本地化消息文本。例
如:
      <mesasge-resources key="application" parameter="ApplicationResources"/>
      该语句指定了一个叫ApplicationResources.properties的消息资源文件或属性文件。
      <message-resources>元素的属性如下:
      ·className:指定和<form-bean>元素对应的配置类,默认值为
org.apache.struts.config.MessageResourcesConfig
      ·factory:指定消息资源的工厂类,默认为org.apache.struts.uitl.PropertyMessageResourcesFactory
      ·key:指定资源文件存放在ServletContext对象中时使用的属性key,默认值为Globals.MESSAGE_KEY定义的字
符串常量。
      ·null:指定MessageResources对未知消息的处理方式,若为true将返回空字符串,若为false则返回类似
“???global.label.missing???”的字符串,默认值为true。
      ·parameter:指定消息资源文件存放的路径。
     


只有注册用户登录后才能发表评论。


网站导航: