这里是Struts2新手。我有一个 JSP 文件,其中有一个链接到名为“authenticate”的操作的 anchor 。当我单击 anchor 时,收到一条错误消息:java.lang.NoSuchMethodException: mypackage.DisplayStuff.authenticate()
java.lang.Class.getMethod(来源未知)
这是我的 struts.xml
<package name="default" extends="struts-default" namespace="/">
<action name="display" method="authenticate"
class="mypackage.DisplayStuff">
<result name="error">Boo.jsp</result>
<result name="success">Yay.jsp</result>
</action>
</package>
这是我的操作文件:
package mypackage;
public class DisplayStuff {
public String authenticate() {
return "success";
}
}
最后,在我的 JSP 中,我有这个 anchor :
<a href="<s:url action="display"/>">click here</a>
有趣的部分是,如果我将方法重命名为默认的“execute”,我就不会收到此错误。我是否应该能够在 DisplayStuff
操作中调用任何方法?
最佳答案
有几种可能性。
错误消息引用了不同的包,我的第一个猜测是您尚未部署最新版本的代码:struts.DisplayStuff.authenticate
不是它的配置方式。
第二个猜测是 Struts 2 插件(如“约定”)破坏您的配置的问题。
但是,如果没有更多细节,就很难对其进行更多思考。
关于java - 尝试从 JSP 访问 Action 方法时 struts2 NoSuchMethodException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15773406/