论坛首页 Java企业应用论坛

Struts2集成Spring的讨论

浏览 7558 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (1) :: 隐藏帖 (1)
作者 正文
   发表时间:2010-09-24   最后修改:2011-06-14
已删除 已删除 已删除 已删除
   发表时间:2010-09-24  
学习了,分析得很仔细
0 请登录后投票
   发表时间:2010-09-25  

public class TestAction {
 
    private static int id = 0;
    
    public String execute() throws Exception{ 
    	   System.out.println(id+10);    	  
            return "success"; 
    }
 
} 
 这个如果用spring集成,为什么结果会是:10/20/30/40……,lz根本就没改变过id的值,求解释
0 请登录后投票
   发表时间:2010-09-25  
Struts2和Spring的集成度很低的。如果不基于Struts2扩展,那么还好。如果要基于Struts2扩展,和Spring集成就不太方便。虽然,Interceptor这些东东都可以基于Spring定义(有兴趣的可以看一下ObjectFactory这个类),但是和Struts2自身的Container一起就不太好处理了。
0 请登录后投票
   发表时间:2010-09-25  
恩 interceptor把切面提前到了action这边,感觉和spring有些冗余了吧
0 请登录后投票
   发表时间:2010-09-25  
Aaronlong31 写道

 

public class TestAction {
 
    private static int id = 0;
    
    public String execute() throws Exception{ 
    	   System.out.println(id+10);    	  
            return "success"; 
    }
 
} 
 这个如果用spring集成,为什么结果会是:10/20/30/40……,lz根本就没改变过id的值,求解释


应该是LZ的失误呵呵!!  似乎应该是


      System.out.println(id+=10);    

0 请登录后投票
   发表时间:2010-09-25  
struts2本身的框架不错,没必要非和spring集成,不过学习了
0 请登录后投票
   发表时间:2010-09-25  
Aaronlong31 写道

 

public class TestAction {
 
    private static int id = 0;
    
    public String execute() throws Exception{ 
    	   System.out.println(id+10);    	  
            return "success"; 
    }
 
} 
 这个如果用spring集成,为什么结果会是:10/20/30/40……,lz根本就没改变过id的值,求解释


我也在疑惑这个问题,请楼主关注

0 请登录后投票
   发表时间:2010-09-25  
Aaronlong31 写道

 

public class TestAction {
 
    private static int id = 0;
    
    public String execute() throws Exception{ 
    	   System.out.println(id+10);    	  
            return "success"; 
    }
 
} 
 这个如果用spring集成,为什么结果会是:10/20/30/40……,lz根本就没改变过id的值,求解释


确实不对,多谢各位的指正,谢谢ahisuw 。是我在验证的时候出现了错误,不好意思.

0 请登录后投票
   发表时间:2010-09-25  
楼主的理解是错误的。不过楼主的钻研精神还是值得学习。

在官方提供的Struts2与Spring的集成有2种方式:

1. 使用autowire的拦截器
2. 将Struts2的bean委托给Spring进行管理

我们在集成时,只要采取其中任何一种方式即可。也就是说,当你试用了autowire拦截器之后,就不需要再设定Struts2的ObjectFactory的实现为spring,也就不存在你在主贴中所说的所有东西。autowire拦截器是比较推荐的做法,将Struts2的bean委托给Spring进行管理经过我观察会有些性能问题。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics