java.lang.NoSuchMethodException: Action[/createDyxxAction] does not contain spec

ChengwanWu 2009-12-11 10:47:50
下面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

...全文
1502 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
huang479119025 2011-05-15
  • 打赏
  • 举报
回复
这么多IT人才,怎么就没有高手解决下呢。。。急急急急急啊
frank3G 2009-12-11
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 warison2008 的回复:]
jf
[/Quote]太水了。。。。。
ChengwanWu 2009-12-11
  • 打赏
  • 举报
回复
兄弟,不好意思,我自己的是0
道光2008 2009-12-11
  • 打赏
  • 举报
回复
jf
ChengwanWu 2009-12-11
  • 打赏
  • 举报
回复
找到原因了,在保存成功的页面上调用了,谢谢!解决了!
bunrise 2009-12-11
  • 打赏
  • 举报
回复
就是没找到你的
com.zhaohua.kjcxpt.action.CreateDyxxAction.saveCreateDyxx
你自己检查看还有什么地方调用了saveCreateDyxx

或者你直接重新启动服务看看

ChengwanWu 2009-12-11
  • 打赏
  • 举报
回复
重启了,也重新部署了
frank3G 2009-12-11
  • 打赏
  • 举报
回复
1.clean 重启服务器,
2.检查是否还有其他地方引用该方法。
ChengwanWu 2009-12-11
  • 打赏
  • 举报
回复
<%@ 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>
ChengwanWu 2009-12-11
  • 打赏
  • 举报
回复
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>

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧