是Medel吧。
Controller基本都被struts框架实现了。
View是程序员利用structs的标签库实现。不过,按照《Design Patterns》一书中对“Controller”一词的解释,似乎又不完全准确。

解决方案 »

  1.   

    struts是个框架技术而已。
    module对应formbean。
    controller对应action。
    view对应jsp。
      

  2.   

    form是DTO 数据传输对象
      

  3.   

    虽然Struts建议把Action和业务逻辑分开,但Action中也可以实现业务逻辑
    我觉得ActionServlet和ActionMapping才是Controller
    Action属于Model
    JSP对应View之所以问这个问题,是明天就答辩了,怕问到了答不上来。
      

  4.   

    quote[ Note:  While ActionForm beans often have properties that correspond to properties in your Model beans, the form beans themselves should be considered a Controller component. As such, they are able to transfer data between the Model and View layers.]Reference: http://struts.apache.org/struts-action/userGuide/building_model.html#actionform应该属于Controller
      

  5.   

    [但Action中也可以实现业务逻辑] <----- 虽然可以但是并不是说就是对的。
    业务逻辑应该和Action分开。
      

  6.   

    不明白Lz怎么会认为action为module层。难道ActionServlet和action有区别吗?很多时候不要去钻这样的牛角尖,因为这样没有用处。
      

  7.   

    struts是个框架技术而已。
    module对应formbean。
    controller对应action。
    view对应jsp。
      

  8.   

    jsp --- form --- VO --- action(Control) --- PO 
                                         \            /
                                          \          /
                             调用业务层对象\        /作为参数传到业务层
                                            \      /
                                             \    /
                                             Model
                                               |
                                               |
                                               |
                                       调用相应的持久化方法,把PO作为参数
    -------------------------------------
    jsp --- form --- VO
    这三者,我们都可以理解为是展示层的东西,
    action是控制层,
    Model 是业务层,业务层可能要调用持久层的一些方法。在展示层,我们只能够操作 VO ,
    在业务和持久层,我们只能操作 PO ,
    在action 中,我们可以对 两者之间进行转换,
    这样就达到了分层的目的,而且,在页面不会出现持久化对象,在业务层也不会出现值对象。好的分层,可以是各个层次之间的偶合度很小,当一个部分发生改变的时候,只需要改变相应层次之间的映射,而不必改变其他的层。
      

  9.   

    http://community.csdn.net/Expert/topic/4771/4771909.xml?temp=.6895868
    这个帖子,对这个问题,讨论了很多!
    很多朋友都谈了自己的看法,楼主可以参考下!其实,分层是为了减小你的程序,各个层面之间的偶合。
    如果你能解决偶合,就没有必要对form 属于哪个层次而如此。
      

  10.   

    多谢楼上的
    我做完了设计也不清楚Struts如何与MVC中的三层对应
    之所以问是为了答辩的时候能说的清楚,没办法,说不清楚就不好办了
      

  11.   

    刚接触Struts这类框架和设计模式,
    编写的时候还没有做到把业务逻辑分离到专门的formbean这一步
    所以会产生这样的疑问,不过在各位帮助下解决了问题又学到的知识,感谢大家