0

Struts2新手在这里。我有一个 JSP 文件,它有一个链接到一个名为“authenticate”的动作的锚点。当我点击锚点时,我收到一条错误消息:java.lang.NoSuchMethodException: mypackage.DisplayStuff.authenticate() java.lang.Class.getMethod(Unknown Source)

这是我的 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 中,我有这个锚点:

<a href="<s:url action="display"/>">click here</a>

有趣的部分是,如果我将我的方法重命名为默认的“执行”,我不会收到此错误。我不应该能够在我的DisplayStuff操作中调用任何方法吗?

4

2 回答 2

2

有几种可能性。

错误消息引用了一个不同的包,我的第一个猜测是你没有部署最新版本的代码:struts.DisplayStuff.authenticate不是它的配置方式。

第二个猜测是 Struts 2 插件(如“约定”)与您的配置混淆的问题。

但是,如果没有更多细节,很难对此进行更多思考。

于 2013-04-02T20:17:37.840 回答
0

这应该是

<a href="<s:url action="display" method="authenticate"/>">click here</a>
于 2013-04-02T21:18:28.850 回答