struts2在调用action中的方法时出错显示找不到这个方法!!求教!!

aaa999aaa888 2009-02-13 04:38:20

错误信息:

Servlet.service() for servlet default threw exception
java.lang.NoSuchMethodException: sale.action.GoodsAction.searchAll()
at java.lang.Class.getMethod(Unknown Source)

-----------------------------
struts.xml文件


<action name="searchAll" class="sale.action.GoodsAction" method="searchAll">
<result name="searchSuccess">/goods/first.jsp</result>
<result name="searchError">/deal/error.jsp</result>
</action>


----------------------
GoodsAction文件

public String searchAll(int pageSize,int pageNow)throws SQLException {
try {
list=goodsFacade.searchAll(pageSize, pageNow);
//setGoods(goods);
//setList(list);

return "searchSuccess";

} catch (Exception e) {
e.printStackTrace();
return "searchError";
}

}

----------------------------------
怎么看都看不出有什么问题,为什么就是找不到那个方法呢?
...全文
819 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
不做懦夫 2009-08-19
  • 打赏
  • 举报
回复
ding ``我草他妈 我没配input 看不出struts2.0 要检验和转换那么多action输入。
我忽略此步骤,action 和什么struts.xml都对,action里同名方法不执行,但和这个请求一样的save都过得去。我就怀疑当前路径,也怀疑。。。

整了我三天。。。。。。。。没干别的


谢了
chenhuangyun 2009-04-08
  • 打赏
  • 举报
回复
怎么没看到我要找的答案呢?
PennyFeng 2009-02-15
  • 打赏
  • 举报
回复
让我们来读异常:
严重: Could not find action or result
No result defined for action sale.action.GoodsAction and result input - action - file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/webapps/Sale/WEB-INF/classes/struts.xml:12:85

没有找到 action 或者 result
没有找到 一个input类型的result 对于你的这个Action
所以,你应该查看下你的struts.xml中看看你这个action 是否配置了 input类型的result.
input 指的是:当你输入不合法,没有通过输入校验时,action该怎么办
PennyFeng 2009-02-15
  • 打赏
  • 举报
回复
哦。。。原来是这样。
受教了
开始也曾经想过在执行时不能传参数。
但不敢确认。呵呵,和楼主一起进步:)
PennyFeng 2009-02-15
  • 打赏
  • 举报
回复
不是这个意思。


你在struts.xml中配置的action.应该是集成了struts-default吧
在struts.default中设置了很多拦截器,这些拦截器在你没有单独为action配置拦截器前,都会自动执行.
而你的异常就是说,没有定义一个类型为input的result.所以让你加上一个,应该可以调试通过.
aaa999aaa888 2009-02-15
  • 打赏
  • 举报
回复
很奇怪,我把tomcat下的发布文件删除后用eclipse重新发布就没有这个问题了,当然前提是我把函数中的参数给去掉了,谢谢
aaa999aaa888 2009-02-15
  • 打赏
  • 举报
回复
找不到action和result为什么跟输入校验有关啊?我还有个类似的插入方法没用也没用这样的错误啊?
aaa999aaa888 2009-02-14
  • 打赏
  • 举报
回复
去掉方法中的参数后又出来这个错误

严重: Could not find action or result
No result defined for action sale.action.GoodsAction and result input - action - file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/webapps/Sale/WEB-INF/classes/struts.xml:12:85
yangfuchao418 2009-02-14
  • 打赏
  • 举报
回复
看下你的配置文件确实加载了没?
PennyFeng 2009-02-14
  • 打赏
  • 举报
回复
读异常:|
java.lang.NoSuchMethodException: sale.action.GoodsAction.searchAll()

java提示你,没有找到方法: sale.action.GoodsAction.searchAll()
就是说你在类文件中指定的searchAll(int pageSize,int pageNow) 并没有匹配到你在xml文件定义的action的method.
你应该把你所需要传的2个参数以另外的形式传递给action.让其处理.

另,2楼所提到的.只是调用动态方法的另外一种形式.应该是不能够解决问题的:)
Landor2004 2009-02-13
  • 打赏
  • 举报
回复
去掉函数中的参数

提示的很清楚,找不到searchAll() !!
liuwenjunssh 2009-02-13
  • 打赏
  • 举报
回复
method="searchAll"把这段去掉,然后用searchAll!searchAll.action访问看一下
wkdgofyd0312 2009-02-13
  • 打赏
  • 举报
回复
你类没写错的话 在仔细看看配置文件吧。 我也常常出这总错 到最后看都是配置上的。

67,512

社区成员

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

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