我是绝对新手,我只说一下我的看法:
为了结构层次的清晰,通常一类行为对应一个action和一个form。
当然可以写在一个servlet里,但是这样的话你又何必用struts呢?

解决方案 »

  1.   

    都是新手,一类行为对应一个action和一个form
    如果一个系统里要处理很多的业务事件,那不是要写很多的类,
    是不是觉得很麻烦,
      

  2.   

    根据姓名、根据uid查询用户信息,属于同一类业务,
    可以也应该只建立一个Action和一个Form。
    通过在Action中建立不同的方法即可实现,页面请求时指定各自相应的方法。例如,在struts-config.xml中进行类似如下设置<form-bean name="UserinfoForm" type="net.csdn.test.form.UserinfoForm"/>
    ……
    <action name="UserinfoForm" type="net.csdn.test.action.UserinfoAction" 
    path="/jsp/test/UserinfoAction" validate="false" scope="request" parameter="method">
    <forward name="aaa" path="/jsp/test/aaa.jsp"></forward>
    </action>
    通过uid查询的页面:<form name="userinfoForm" action="UserinfoAction.do" method="post">
    <input type="hidden" name="method" value="findUserinfoByUid">
    ……
    </form>
    通过姓名查询的页面:<form name="userinfoForm" action="UserinfoAction.do" method="post">
    <input type="hidden" name="method" value="findUserinfoByName">
    ……
    </form>
    form也可以不必建立,action必须有。
    若不建立form在action中可以通过request.getParameter("uid")获得传递的参数值。
      

  3.   

    若是同一个页面,不同的按钮,可以用javascript设置不同的method值,然后提交。