Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29959840
  • 博文数量: 708
  • 博客积分: 12163
  • 博客等级: 上将
  • 技术积分: 8240
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-04 20:59
文章分类

全部博文(708)

分类: Java

2008-10-23 13:34:01

开始使用的是Struts2.06版本。在配置Struts.xml的时候,发现了一个问题:

struts.xml代码:

xml 代码
  1.         "">  
  2. <struts>  
  3.     <include file="struts-default.xml" />  
  4.     <package name="default" extends="struts-default">  
  5.           
  6.         <interceptors>  
  7.             <interceptor-stack name="strutsStack">  
  8.                 <interceptor-ref name="exception" />  
  9.                 <interceptor-ref name="alias" />  
  10.                 <interceptor-ref name="servlet-config" />  
  11.                 <interceptor-ref name="prepare" />  
  12.                 <interceptor-ref name="i18n" />  
  13.                 <interceptor-ref name="chain" />  
  14.                 <interceptor-ref name="debugging" />  
  15.                 <interceptor-ref name="profiling" />  
  16.                 <interceptor-ref name="scoped-model-driven" />  
  17.                 <interceptor-ref name="model-driven" />  
  18.                 <interceptor-ref name="fileUpload" />  
  19.                 <interceptor-ref name="checkbox" />  
  20.                 <interceptor-ref name="static-params" />  
  21.                 <interceptor-ref name="params" />  
  22.   
  23.                 <interceptor-ref name="validation">  
  24.                     <param name="excludeMethods">  
  25.                         input,back,cancel,browse   
  26.                     param>  
  27.                 interceptor-ref>  
  28.                 <interceptor-ref name="workflow">  
  29.                     <param name="excludeMethods">  
  30.                         input,back,cancel,browse   
  31.                     param>  
  32.                 interceptor-ref>  
  33.             interceptor-stack>  
  34.         interceptors>  
  35.           
  36.         <default-interceptor-ref name="strutsStack" />  
  37.     package>  
  38.   
  39.     <include file="struts_xml/user.xml" />  
  40.   
  41. struts>  

这是struts.xml所包含的代码。

xml 代码
  1.         "">  
  2. <struts>  
  3.   
  4.     <package name="user" extends="default">  
  5.           
  6.         <action name="userAction"  
  7.             class="com.leo.controller.UserController" method="userAction">  
  8.             <result name="success">a.jspresult>  
  9.             <result name="input">login.jspresult>  
  10.         action>  
  11.   
  12.         <action name="index" class="com.leo.controller.UserController"  
  13.             method="index">  
  14.             <result name="success">login.jspresult>  
  15.             <result name="input">login.jspresult>  
  16.         action>  
  17.   
  18.         <action name="login" class="com.leo.controller.UserController"  
  19.             method="login">  
  20.             <result name="success" type="redirect-action">  
  21.                 index.action   
  22.             result>  
  23.             <result name="input">login.jspresult>  
  24.         action>  
  25.   
  26.         <action name="logout" class="com.leo.controller.UserController"  
  27.             method="logout">  
  28.             <result name="success">login.jspresult>  
  29.             <result name="input">login.jspresult>  
  30.         action>  
  31.   
  32.     package>  
  33.   
  34. struts>  

这种“包”继承关系是合法的,但在struts2.06版本怎么也无法通过,控制台一直报错:Error building results for action ××× in namespace - action 。调试了很久,Webwork文档与书也翻了N遍,还是没有效果。最后实在没有办法了,换成Struts2.09包,竟然通过了。

大家可以试试,其实Struts2的包继承是非常有用的,很多全局拦截器的设置,Action的设置,以及Result-type等,都可以通过包继承来组织你的配置文件。

阅读(1858) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~