本帖最后由 liumin3285 于 2009-09-19 09:06:59 编辑

解决方案 »

  1.   

    让Action继承DispatchAction,注意继承之后,不要执行execute,自定义方法名。在配置文件的Action中加上parameter="标识",你在页面上执行form的时候Action=query.do?标识=方法名。
      

  2.   

    1 楼的做法我试了还是不行
    不知道是我那搞错了?
    我让
    QueryAction extends DispatchAction
    public ActionForward executequery(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response)
    throws Exception {
    <form method="post" name="form1" action="query.do?queryaction=executequery">
    <a href="queryindate.do?queryaction2=executequery && textname2=${u.ipm}">确认</a></th>
                </action>
                <!-- 查询数据 -->
                <action path="/query"
                        parameter="queryaction"
                        type="com.name.action.query.QueryAction"
                >
                <forward name="success" 
                         path="/query.jsp"/>
                </action>
                            <!-- --- ------- -->
                    <action path="/queryindate"
                           parameter="queryaction2"
                           type="com.name.cation.query.QueryAction"
                                >
                        
                <forward name="success" 
                    path="/query.jsp"/>
                </action>
      

  3.   

    不用DispatchAction也可以  传一个参数 然后在execute方法中判断这个参数值再执行不同的代码就可以了
      

  4.   

    报什么错误啊?还是这个?HTTP Status 500 - No action instance for path /queryindate could be created 
      

  5.   

    没看到这句<a href="queryindate.do?queryaction2=executequery && textname2=${u.ipm}">确认</a>
    你把它改为<a href="query.do?queryaction=executequery && textname2=${u.ipm}">确认</a>queryindate.do?和query.do?指向的不是一个
      

  6.   

    javax.servlet.ServletException: java.lang.NoSuchMethodException: Action[/query] does not contain specified method (check logs)
     改下就出现了这样的错误
      那我xml不就可 以写成这样            </action>
                <!-- 查询数据 -->
                <action path="/query"
                        parameter="queryaction"
                        type="com.name.action.query.QueryAction"
                >
                <forward name="success" 
                         path="/query.jsp"/>
                </action>
                           
      

  7.   

    parameter 一个是queryaction 一个是queryaction2  ???
    把两个parameter都改成一样的 
    调用格式为: action.do?parameter=方法名
    这样应该就可以了
      

  8.   

    现在我把2个action 配置在xml中的一个action中了</action>
                <!-- 查询数据 -->
                <action path="/query"
                        parameter="queryaction"
                        type="com.name.action.query.QueryAction"
                >
                <forward name="success" 
                         path="/query.jsp"/>
                </action>
      

  9.   

    还有 不用定义两次action  本身DispatchAction 也是条用的一个action只是将不同的业务逻辑放到不同的方法中了,这个类也是根据不同的参数值转到不同的方法中执行代码的  和我开始说的判断参数值然后执行不同的代码是一个道理
      

  10.   

    <form method="post" name="form1" action="query.do?queryaction=executequery1">
    <a href="queryindate.do?queryaction=executequery2 && textname2=${u.ipm}">确认</a></th>QueryAction extends DispatchAction
    public ActionForward executequery1(ActionMapping mapping, ActionForm form,
                HttpServletRequest request, HttpServletResponse response)
                throws Exception {
    public ActionForward executequery2(ActionMapping mapping, ActionForm form,
                HttpServletRequest request, HttpServletResponse response)
                throws Exception {
    <action path="/query"
                        parameter="queryaction"
                        type="com.name.action.query.QueryAction"
                >
                <forward name="success1" 
                         path="/query1.jsp"/>
    <forward name="success2" 
                         path="/query2.jsp"/>
                </action>
      

  11.   

    <a href="queryindate.do?queryaction=executequery2 && textname2=${u.ipm}">确认 </a> </th> 错了,是
    <a href="query.do?queryaction=executequery2 && textname2=${u.ipm}">确认 </a> </th> 
      

  12.   

    现在是我这个请出错<a href="query.do?queryaction=executequery && textname2=${u.ipm}">确认 </a>
    </action>
                <!-- 查询数据 -->
                <action path="/query"
                        parameter="queryaction"
                        type="com.name.action.query.QueryAction"
                >
                <forward name="success" 
                         path="/query.jsp"/>
                </action>
      

  13.   

    Lz我个人感觉,你说出错就给个代码给别人,你能不能把错误的原因说说。比如:
    <a href="query.do?queryaction=executequery && textname2=${u.ipm}">确认 </a>
    是报404找不到路径?还是报500?还是null异常?把错误信息发过来大家也要讨论一下,LZ,你感觉呢?
      

  14.   

    这个很简单啊,在action请求中加入一个参数,在execute方法中根据这个参数调用不同的业务逻辑
      

  15.   

    刚才还没有注意这点,不能用&&,连接的时候用&。
      

  16.   

    两个路径指向一个action类,可以用MappingDispatchAction。<action path='/pathname" type="com.mypack.struts.Action.MyMappingDispatchAction" parameter="xxx1">
    <action path='/pathname2" type="com.mypack.struts.Action.MyMappingDispatchAction" parameter="xxx2"> 
     
    当请求路径为pathname时,mappingDispatchAction自动调用 parameter指定的方法 ,两次配置的parameters=""是可以一样的。
      

  17.   

    楼主的做法有点不理解
    如果lz要是同一个路径(查询不同条件),其实可以在页面设置关键字
    如果lz是增加删除等等操作,页面显示查询的结果,然后其他的都跳转到查询的页面