关于我们
About Us
网站建设
Site Design
售后服务
Call Center
经典案例
Projects
技术资料
Source
公司产品
Products
留言板
FeedBack
网站维护
Maintenance
 
 首页>> 技术资料>>JSP  
Struts2必需注意的一个小细节

这几天一直没有更新blog,主要是将tycho整个框架升了一下级。由原来的jdk1.4升级为jdk6.0,velocity1.4升级为1.5,struts1.29升级为struts2.0.5,spring1.2.9升级为spring2,还有hibernate2升级为hibernate3。从头到脚的翻新了一遍。级升过程中,最为复杂的要属struts了。复杂其实并不是说它的结构,而是兼容性。使用过struts2的朋友都应该道知,struts2其实就是webwork的下一个版本。在这个版本当中,struts自身保留下来的东西实在是少之又少。一直以来我都没有学习过webwork,这次将系统升级到struts2,着实费了不少功夫。

  虽然struts2发布没多久,网上关于相关的资料已经非常多了,给大家推荐一个网友的blog,http://www.blogjava.net/max/ 有兴趣的朋友可以去看看,上面对struts2的讲解基本上比较详细了。在这里提醒各位一个小细节,在开发过程中,我们可能会自定义拦截器(interceptor),用来帮助我们完成相应的功能。其实struts2自身也提供了一些拦截器,例如我们常用的效验(validation)功能就是例用拦截器完成的。但是,当我们自定义拦截器后,发现,struts2自身的拦截器却不起作用了。这里因为我们的拦截器覆盖了struts2自身的拦截器的原因造成的。解决方法是,配置一个拦截器栈,将struts2自身的拦截器配置进去即可。如下:

  <interceptors>
      <!-- 自定义拦截器 -->
      <interceptor name="noLogin" 
               class="com.mxjava.tycho.servlet.interceptor.NoLoginInterceptor"/>
      <!-- 拦截器栈 -->
      <interceptor-stack name="appStack">
               <interceptor-ref name="noLogin"/>
               <!-- struts2自身拦截器 -->
               <interceptor-ref name="defaultStack"/>
      </interceptor-stack>
   </interceptors>

  <action name="login" class="LoginAction">
          <!-- 配置拦截器栈 -->
           <interceptor-ref name="appStack"/>
           <result type="velocity">/vms/user/login.vm</result>
           <result name="login" type="redirect-action">index.htm</result>
   </action>

 
 
北京四方互动网络技术有限公司
© 版权所有 2001-2005
地址:北京市海淀区知春路豪景佳苑3号楼401室
邮编:100086 公司地图
业务专线:010-62568654 62106102
传  真:010-82611617
公司总机:62106100/1/2/3
售后服务:分机808、881、812