在 Structs 中对于每一个用户的“事件” ,或者说是操作都有一个 Action 与之对应。例如用户登录 对应 LoginAction , 用户注册对应 RegiestAction ......... 。 这里我就想不明白了,对于一个大型的系统来说可能操作有很多难道真的就这样 每一个操作都对应一个 Action 么 ???  可以有更好的方式么 ?  希望各位大侠不吝赐教, 谢谢了!

解决方案 »

  1.   

    是的,我觉得struts1跟你说的一样。一个JSP对应多个action。
    对于struts2就可以实现多个方法来对应不同事件。
      

  2.   

    有种action叫DispatchAction他就是一个action的合集可以通过不同的method来整合action~
      

  3.   

    目前一般都是用DispatchAction 来管理action
    一个DispatchAction 就管理一个模块的请求和响应
      

  4.   

    这种方式有什么特别之处吗 ?是出于一种什么样的原理可以说下嘛 ?我觉得 可以自己定义一个处理一整个模块的 Action , 例如 UserAction , 它来处理所有 /user.do 的请求(Login, Regiest, AddUser, DeleteUser)。 提交请求之前在一个具体的 JSP 视图组件里面 传递一个 操作类型的参数,
    <input type="hidden" name="oper" value="login" />然后在UserAction 的 execute 方法里面,来根据 oper 参数来判断, 再做具体的操作。
    String oper = request.getParameter("oper"); 
    if(oper.equals("login")){ //处理登录
    } else if(oper.equals("login")){  //处理用户注册
    } else {
      //.............
    }我觉得这样做又绕到之前我们用 Servlet 来集中处理的方式去了, 不知实际开发中究竟是怎样处理的呢?
      

  5.   

    在用servlet处理的时候,判断作什么操作有个参数可以表示,例如
    com.myservlet?fuction=删除
    同样在Action可以理解成一个功能更人性话的servlet,你可以给他增加一个参数通过DispatchAction的xml说明完成一个Action处理多个功能