一尘不染

参数“方法”不起作用(Struts 1)

jsp

我在struts.xml中声明了以下操作:

    <action path="/updateAccountInfo"
            type="org.myCompany.UpdateAccountAction"
            name="myAccountForm"
            scope="session"
            validate="true"
            parameter="method" 
            input="/updateAccountInfo.jsp">
        <forward name="success" path="/updateAccountInfo.jsp" />
    </action>

在我的JSP页面中,我具有以下形式:

<html:form action="/updateAccountInfo.do">
    <input type="hidden" name="method" value="sendMessage" />

在我的java类中,我具有以下方法:

public final ActionForward sendMessage(final ActionMapping mapping, final ActionForm form, final HttpServletRequest request, final HttpServletResponse response) throws Exception {
    System.out.println("sending");
    return null;
}

Struts不运行sendMessage,而是调用execute方法。为什么?我的struts-config错误吗?还是我错过了另一个配置设置?


阅读 180

收藏
2020-06-08

共1个答案

一尘不染

请首先确保您的操作扩展了DispatchAction。您可能不应覆盖该类中的execute方法,因为该方法负责提取请求参数并调用相应的方法。如果您覆盖执行,则该逻辑将不再执行。

2020-06-08