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:指定消息资源文件存放的路径。