action等package子元素的配置简介

来源:互联网 发布:钢铁力量天王战车数据 编辑:程序博客网 时间:2024/06/05 08:15

struts.xml文件中,package元素有很多子元素,其中主要的有:

一.action

拥有的属性如下:
1.name:
必需属性,作为Action的唯一标识。Action的name没必要写成后面加“.do”或者“.action”这样的后缀名形式,因为系统在运行时会默认自动搜寻后缀名为“.action”的Action,直接写成例如:“book_action”,若加了就会变成搜寻“book_action.action.action”这样格式的Action,系统将会报错。通过设置<constant name="struts.action.extension" value="do"/>这一常量可以设置系统默认的后缀
2.class:
可选属性,在Struts2里系统主动寻找名字为name属性值的Action,找到后就根据class属性里定义的Action类路径去执行该Action类,如:

<action name="book_action" class="com.bookAction"></action><!-- 系统搜索到这个Action后根据映射定义的class执行bookAction类 -->

子元素<result>

二、拦截器

<interceptors>    <!-- 定义拦截器栈 -->    <interceptor-stack name="crudStack">        <interceptor-ref name="params"/>        <interceptor-ref name="defaultStack"/>          </interceptor-stack></interceptors>

三、全局或默认属性

1.<global-results>是全局导航页面映射定义,这些定义的<result>是被多个Action共用的。如果一个具体的Action在<action>里找不到定义的<result>唯一标识,它就去寻找(匹配)<global-results>里的<result>唯一标识

<package name="ch01" extends="struts-default">    <!-- 全局导航页面定义 -->    <global-results>        <result name="global">/jsp/error.jsp</result>    <global-results>    <!-- 通过Action处理才导航的导航页面定义 -->    <action name="login" class="com.action.LoginAction">        <result name="success">/jsp/success.jsp</result>        <result name="error">/jsp/error.jsp</result>    </action>    <!-- 直接导航的导航页面定义 -->    <action name="index">        <result>/jsp/index.jsp</result>    </action></package>

2.全局异常页面定义

<global-exception-mappings>    <exception-mapping exception="java.lang.Exception" result="error"/></global-exception-mappings>

3.<default-action-ref name="showcase"/>定义默认来处理请求的Action是名为showcase的Action
4.<default-interceptor-ref name="crudStack"/>定义默认的拦截器引用

0 0