java - 尝试从 JSP 访问 Action 方法时 struts2 NoSuchMethodException

标签 java jsp url struts2

这里是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/

相关文章:

java - .equals() 和 == in Java on Integer(== 有效但 .equals 无效!!)

java - 有没有办法通过使用 FirestoreRecyclerAdapter 组合查询游标来对查询进行分页?

Java JSP Mysql 错误

javascript - url应该以编码形式还是解码形式存储?

python - 没有方法名称的 Django url.py

Android:在新窗口中打开 URL,无需离开应用程序

java - 类路径上的类文件出现 ClassNotFoundException

java - 正则表达式匹配带空格但不带空格的数字

javascript - Uncaught ReferenceError : is not defined

JSP中的图片上传和显示