Struts中DispathAction可以在里面写多个方法。。通过调用不同的方法还实现一个action管理多个业务功能。。平常都是用一个form来邦定一个对应的action,对从JSP页面,得到相应提交的值在action中进行处理,但如何让多个form来邦定一个action实现?
请高人指教。

解决方案 »

  1.   

    DispatchAction使用方法:
    1.设计action继承DispatchAction
    2.去掉execute方法
    3.自己设计add,delete,edit...
      方法.方法的摸板来自execute方法
      (四个参数不变)
    4.修改struts-xml配置文件
      在action标签中,添加属性
      parameter,值为method
    5.jsp页面请求的参数为method
      例如:
      <html:link href="login.do?method=add>
    会自动调用DispatchAction中的add方法.
    6.传递参数方式:使用${}
     例如:
    <% String pid = "1002";
       request.setAttribute("productId",pid);
    %>
    <html:link href="login.do?method=add&pid=${productId}>
      

  2.   

    DispatchAction只能公用一个ActionForm
    如果对不同方法应用不同的ActionForm
    则可以考虑用MappingDispatchAction或者LookupDispatchAction
      

  3.   

    <form name="aForm" class="AClassForm" >
    <form name="bForm" class="BClassForm" ><action  path="aaaa.do"
             name="aForm"
             type="package.action"
        /><action  path="bbbb.do"
             name="bForm"
             type="package.action"
        />
    再写一个配置就行了...
    Action 还是同一个.就是form名和path不一样.
      

  4.   

    不可以多个ActionForm吧(如果你想实现这样的类似作用只有把你想用到的字段属性全放在这个actionForm里面)
      我觉得这似乎不行.
     首先你的这个类是多用的,可能多个jsp页面都使用这个类。但在配置文件里面只有一个input属性 所以。。
     我不知道不写input属性行不行
      

  5.   

    谢谢我把多个Form要用的属性全写在一个FORM里面了。。可行。。
    也试过把一个action写成两个。。但很麻烦,违反了本意。。
    还是谢谢你们。