下面saveOrUpdateCreateDyxx方法又先前的saveCreateDyxx改成的,提交的时候,能正确的保存到数据库,先运行完saveOrUpdateCreateDyxx方法后,在报02:26:59,125 ERROR DispatchAction:260 - Action[/createDyxxAction] does not contain method named 'saveCreateDyxx'
java.lang.NoSuchMethodException: com.zhaohua.kjcxpt.action.CreateDyxxAction.saveCreateDyxx(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
at java.lang.Class.getMethod(Class.java:1581)
at org.apache.struts.actions.DispatchAction.getMethod(DispatchAction.java:347)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:255)
at com.zhaohua.kjcxpt.commons.BaseAction.execute(BaseAction.java:125)
at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:106)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.ecside.filter.ECSideFilter.doFilter(ECSideFilter.java:174)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal

解决方案 »

  1.   

    public ActionForward saveOrUpdateCreateDyxx(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response) throws Exception{
     Createdyxx  createdyxx = new Createdyxx();
     CreatedyxxForm createdyxxForm = (CreatedyxxForm)form;
     BeanUtils.copyProperties(createdyxx, createdyxxForm);
    try {
    this.createDyxxService.saveOrUpdateCreateDyxx(createdyxx, createdyxx.getDailixinxid());
    request.setAttribute("msg", "恭喜!!保存成功");
    } catch (Exception e) {
     e.printStackTrace();
     request.setAttribute("msg", "保存失败");
    }
     return mapping.findForward("saveSuccess");
    }
    <%@ page language="java" pageEncoding="UTF-8"%>
    <%@ include file="/commons/taglibs.jsp"%>
    <%@ include file="/commons/ecside/ecside.jsp"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>代理信息</title>
        <script src="${ctx}/js/jquery.js" type="text/javascript"></script>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <script type="text/javascript">
    function checkDlrid(currentCheck){
    var strArray = document.getElementsByName("dlrid");
        var lengthstr=0;
        var arr = new Array();
    for(var i=0;i<strArray.length;i++){     
    if(strArray[i].checked==true){
    lengthstr++;
    arr.push(strArray[i].value);
    arr.push(strArray[i+1].value);
    }
    }

    if(lengthstr<0 || lengthstr>2 ){
    document.getElementById("message").innerHTML="只能选择一个或两个代理人"; //alert("代理只能选择一个或两个");
    currentCheck.checked=false;
    return false;
    }
    document.getElementById("message").innerHTML="";

    $("#dlridText1").val(arr[0]);
    $("#dlrid1").val(arr[1]);
    $("#dlridText2").val(arr[2]);
    $("#dlrid2").val(arr[3]);
    }

    function validate(){
        var lengthstr=0;
    var strArray = document.getElementsByName("dlrid");
                  for(var i=0;i<strArray.length;i++){     
    if(strArray[i].checked==true){
    lengthstr++;
    }
    }
    if(lengthstr<1 || lengthstr>2 ){
    document.getElementById("message").innerHTML="您还没有选择代理人"; //alert("代理只能选择一个或两个");
    return false;
    }

    document.getElementById("message").innerHTML="";
    return true;
    }

    </script>
      </head>
      
      <body>
        <form method="post" name="dailixx" action="${ctx }/createDyxxAction.do?dispatch=saveOrUpdateCreateDyxx" onsubmit="javascript:return validate()">
         <input type="hidden" name="dailixinxid" value="${createdyxx.dailixinxid}"/>
         <input type="hidden" name="createid" value="${zlsqid }">
         <input type="hidden" name="zltype" value="${type }">
         <input type="hidden" name="dljgid" value="${deptId }">
         <center>
         <table>
            <tr>
                <td colspan="2"><font size="5" color="#33CC00">请选择代理人:</font></td>
                </tr>
                <tr>
                 <td><span style="color:red;size=2" id="message"></span></td>
               </tr>
                <tr>
                </tr>
                <tr>
                 <td><font size="3">代理人名字:</font></td>
                </tr>
                <tr>
                 <td>
                 <c:forEach var="createDaliren" items="${createDalirenList}">
                    <c:if test="${createDaliren.dlrid==createdyxx.dlrid1 or createDaliren.dlrid==createdyxx.dlrid2}">
                 <input type="checkbox" name="dlrid"  value="${createDaliren.dlrname}" onclick="checkDlrid(this)" checked="checked"/>${createDaliren.dlrname}<br>
                 <input type="hidden" name="dlrid"  value="${createDaliren.dlrid}"/>
                    </c:if>
                     <c:if test="${createDaliren.dlrid!=createdyxx.dlrid1 and createDaliren.dlrid!=createdyxx.dlrid2}">
                 <input type="checkbox" name="dlrid"  value="${createDaliren.dlrname}" onclick="checkDlrid(this)" />${createDaliren.dlrname}<br>
                 <input type="hidden" name="dlrid"  value="${createDaliren.dlrid}"/>
                    </c:if>
                 </c:forEach>
                 </td>
                </tr>
                <tr></tr>
                <tr>
                 <td>请您选择默认代理人:</td>
                </tr>
                <tr>
                 <td>第一个代理人</td>
                 <td>
                 <input type="text" name="dlridText1" id="dlridText1" value="${createDaliren1Name}">
                 <input type="hidden" name="dlrid1" id="dlrid1">
                 <c:choose>
                 <c:when test="${flag==1}">
                 <input type="radio" name="flag" id="dlrid11" value="1" checked="checked">
                 </c:when>
                 <c:otherwise>
                 <input type="radio" name="flag" id="dlrid11" value="1">
                 </c:otherwise>
                 </c:choose>
             
                 </td>
                </tr>
                <tr>
                 <td>第二个代理人</td>
                 <td>
                 <input type="text" name="dlridText2" id="dlridText2" value="${createDaliren2Name}">
                 <input type="hidden" name="dlrid2" id="dlrid2">
                  <c:choose>
                 <c:when test="${flag==2}">
                 <input type="radio" name="flag" id="dlrid22" value="2" checked="checked">
                 </c:when>
                 <c:otherwise>
                 <input type="radio" name="flag" id="dlrid22" value="2" >
                 </c:otherwise>
                 </c:choose>
                 </td>
                </tr>
                <tr>
                 <td>
                 </td>
                 <td><font size="2" color="red">在代理人后面的圆圈内点击即选中</font></td>
                </tr>
                <tr>
                 <td>
                 <input type="submit" value="保存">
                 </td>
                </tr>
        </table>
        </center>
        </form>
      </body>
    </html>
      

  2.   

    <%@ page language="java" pageEncoding="UTF-8"%>
    <%@ include file="/commons/taglibs.jsp"%>
    <%@ include file="/commons/ecside/ecside.jsp"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>代理信息</title>
        <script src="${ctx}/js/jquery.js" type="text/javascript"></script>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <script type="text/javascript">
    function checkDlrid(currentCheck){
    var strArray = document.getElementsByName("dlrid");
        var lengthstr=0;
        var arr = new Array();
    for(var i=0;i<strArray.length;i++){     
    if(strArray[i].checked==true){
    lengthstr++;
    arr.push(strArray[i].value);
    arr.push(strArray[i+1].value);
    }
    }

    if(lengthstr<0 || lengthstr>2 ){
    document.getElementById("message").innerHTML="只能选择一个或两个代理人"; //alert("代理只能选择一个或两个");
    currentCheck.checked=false;
    return false;
    }
    document.getElementById("message").innerHTML="";

    $("#dlridText1").val(arr[0]);
    $("#dlrid1").val(arr[1]);
    $("#dlridText2").val(arr[2]);
    $("#dlrid2").val(arr[3]);
    }

    function validate(){
        var lengthstr=0;
    var strArray = document.getElementsByName("dlrid");
                  for(var i=0;i<strArray.length;i++){     
    if(strArray[i].checked==true){
    lengthstr++;
    }
    }
    if(lengthstr<1 || lengthstr>2 ){
    document.getElementById("message").innerHTML="您还没有选择代理人"; //alert("代理只能选择一个或两个");
    return false;
    }

    document.getElementById("message").innerHTML="";
    return true;
    }

    </script>
      </head>
      
      <body>
        <form method="post" name="dailixx" action="${ctx }/createDyxxAction.do?dispatch=saveOrUpdateCreateDyxx" onsubmit="javascript:return validate()">
         <input type="hidden" name="dailixinxid" value="${createdyxx.dailixinxid}"/>
         <input type="hidden" name="createid" value="${zlsqid }">
         <input type="hidden" name="zltype" value="${type }">
         <input type="hidden" name="dljgid" value="${deptId }">
         <center>
         <table>
            <tr>
                <td colspan="2"><font size="5" color="#33CC00">请选择代理人:</font></td>
                </tr>
                <tr>
                 <td><span style="color:red;size=2" id="message"></span></td>
               </tr>
                <tr>
                </tr>
                <tr>
                 <td><font size="3">代理人名字:</font></td>
                </tr>
                <tr>
                 <td>
                 <c:forEach var="createDaliren" items="${createDalirenList}">
                    <c:if test="${createDaliren.dlrid==createdyxx.dlrid1 or createDaliren.dlrid==createdyxx.dlrid2}">
                 <input type="checkbox" name="dlrid"  value="${createDaliren.dlrname}" onclick="checkDlrid(this)" checked="checked"/>${createDaliren.dlrname}<br>
                 <input type="hidden" name="dlrid"  value="${createDaliren.dlrid}"/>
                    </c:if>
                     <c:if test="${createDaliren.dlrid!=createdyxx.dlrid1 and createDaliren.dlrid!=createdyxx.dlrid2}">
                 <input type="checkbox" name="dlrid"  value="${createDaliren.dlrname}" onclick="checkDlrid(this)" />${createDaliren.dlrname}<br>
                 <input type="hidden" name="dlrid"  value="${createDaliren.dlrid}"/>
                    </c:if>
                 </c:forEach>
                 </td>
                </tr>
                <tr></tr>
                <tr>
                 <td>请您选择默认代理人:</td>
                </tr>
                <tr>
                 <td>第一个代理人</td>
                 <td>
                 <input type="text" name="dlridText1" id="dlridText1" value="${createDaliren1Name}">
                 <input type="hidden" name="dlrid1" id="dlrid1">
                 <c:choose>
                 <c:when test="${flag==1}">
                 <input type="radio" name="flag" id="dlrid11" value="1" checked="checked">
                 </c:when>
                 <c:otherwise>
                 <input type="radio" name="flag" id="dlrid11" value="1">
                 </c:otherwise>
                 </c:choose>
             
                 </td>
                </tr>
                <tr>
                 <td>第二个代理人</td>
                 <td>
                 <input type="text" name="dlridText2" id="dlridText2" value="${createDaliren2Name}">
                 <input type="hidden" name="dlrid2" id="dlrid2">
                  <c:choose>
                 <c:when test="${flag==2}">
                 <input type="radio" name="flag" id="dlrid22" value="2" checked="checked">
                 </c:when>
                 <c:otherwise>
                 <input type="radio" name="flag" id="dlrid22" value="2" >
                 </c:otherwise>
                 </c:choose>
                 </td>
                </tr>
                <tr>
                 <td>
                 </td>
                 <td><font size="2" color="red">在代理人后面的圆圈内点击即选中</font></td>
                </tr>
                <tr>
                 <td>
                 <input type="submit" value="保存">
                 </td>
                </tr>
        </table>
        </center>
        </form>
      </body>
    </html>
      

  3.   

    1.clean 重启服务器,
    2.检查是否还有其他地方引用该方法。
      

  4.   

    就是没找到你的
    com.zhaohua.kjcxpt.action.CreateDyxxAction.saveCreateDyxx 
    你自己检查看还有什么地方调用了saveCreateDyxx或者你直接重新启动服务看看