WebWork配置文件详解
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的标签了。
原文链接:https://www.f2er.com/xml/298724.html