webwork 配置文件讲解

xiaoxiao2024-03-28  53

webwork配置文件主要有两个:web.xml和xwork.xml

1.webwork.xml:

       (1)在webwork2.2之前,一个ServletDispatcher 被用来处理action请求。相关的配置文件如下:

       <servlet>       <servlet-name>webwork</servlet-name>       <servlet-class>com.opensymphony.webwork.dispatcher.ServletDispatcher</servlet-class>       <load-on-startup>1</load-on-startup>       </servlet>

       <servlet-mapping>       <servlet-name>webwork</servlet-name>       <url-pattern>*.action</url-pattern>       </servlet-mapping>

       <!--如果使用jsp的话配置标签库 -->

       <taglib>       <taglib-uri>webwork</taglib-uri>       <taglib-location>/WEB-INF/lib/webwork-2.2.6.jar</taglib-location>       </taglib>

       :<load-on-startup>1</load-on-startup>这个配置是什么含义呢?经过查找它的含义为:容器启动时加载这个servlet的顺序,正常的取值范围是:负数,0-5,如果是负数或者没有这个标签,则容器在启动时不自动加载这个servlet,如果是0-5,则按照顺序加载这个servlet,执行初始化方法init()。数字是0-5,加载顺序也是0-5。

       (2)webwork2.2之后可以添加一个单独的过滤器进行配置示例代码如下:

        <filter>

        <filter-name>webwork</filter-name>

        <filter-class>com.opensymphony.webwork.dispatcher.FilterDispatcher</filter-class>

        </filter>

        <filter-mapping>

        <filter-name>webwork</filter-name>

        <filter-url>/*</filter-url>

        </filter-mapping>

        <listener>        <istener-class>org.springframework.web.context.ContextLoaderListener</listener-class>        <listener>

 

2.xwork.xml   (1)package的配置,package有属性:name(必填)、extends、namespace和abstract

    例如:

    <package name="webnewslist" extends="flxx-default" namespace="/web/news">    <action name="list" class="com.founder.sort.view.action.News" method="list">    <result name="success" type="dispatcher">/news/list.jsp</result>    <result name="error" type="dispatcher">/error.jsp</result>    </action>    </package>

    其中name要是不填写的话就默认为:" "

    对于一个请求例如:/user/my.action

    程序首先就去搜索/user命名空间下查找名称为my的action,如果没有就会到命名空间为" "的包中找到my的action

    如果请求为:/my.action则程序会去"/"命名空间下查找名称为my的action,如果没有就会到命名空间为""的包中找到my的action

    (2) 包含的配置:

     对于大型的项目如果使用一个xwork.xml配置文件则会造成xwork.xml文件过于庞大,所以webwork允许xwork.xml中再包含其它的xwork.xml配置文件:

     <work>

     <include file="user.xml"/>

     </work>

     (3)action的配置:

     <action name="show" class="com.founder.sort.view.action.News" method="show">

     其中method属性是可选的,它表明的是执行News类中的哪一个方法,如果没有填写该属性,默认执行类中execute()方法,如果execute()方法没有则会报错。

     如果class属性没有填写,会默认使用com.opensymphony.xwork.ActionSupport类

     当一个指定的action找不到时就会执行默认的action,主要用于一些比较相似的而且简单的action的需求,配置如下  

    <default-action-ref  name="show"/>

    (4)结果的配置:

    <result name="success" type="dispatcher">

           <param name="location">/error.jsp</param>

    </result>

    name属性默认为success 、type属性默认为dispatcher、参数名称也是默认为location所以最终可以简写成:

    <result>/error.jsp</result>

    (5)拦截器配置

     <interceptors>     <interceptor name="securityAdminInterceptor"      class="com.founder.sort.uum.SecurityAdminInterceptor" />     <interceptor name="securityUserInterceptor"      class="com.founder.sort.uum.SecurityUserInterceptor" />     <interceptor-stack name="securityStack">     <interceptor-ref name="defaultStack" />     <interceptor-ref name="securityAdminInterceptor" />     </interceptor-stack>     <interceptor-stack name="securityUserStack">     <interceptor-ref name="defaultStack" />     <interceptor-ref name="securityUserInterceptor" />     </interceptor-stack>     </interceptors>

     (6)前台界面添加:<%@ taglib uri="webwork" prefix="ww"%>就可以使用webwork的标签了。

   

相关资源:敏捷开发V1.0.pptx
转载请注明原文地址: https://www.6miu.com/read-5014588.html

最新回复(0)