Нет действия, сопоставленного для имени действия elecMenuAction_menuHome

Отчет о проблеме Struts

Struts обнаружил необработанное исключение:

Сообщения:
Нет действия, сопоставленного с именем действия elecMenuAction_menuHome.

Трассировки стека

Нет действия, сопоставленного с именем действия elecMenuAction_menuHome. - [неизвестное место]

com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:185) org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63) org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java: 39) com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58) org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:500) org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction( ExecuteOperations.java:77) org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) org.apache. catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218) org.apache.catalina.core.StandardContextValve.invoke(Standard ContextValve.java:110) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506)

...

My struts.xml:

<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
    <!-- dev model -->
    <constant name="struts.devMode" value="true"></constant>
    <!-- ui  -->
    <constant name="struts.ui.theme" value="simple"></constant>
    <!-- .do-->
    <constant name="struts.action.extension" value="do"></constant>

    <!-- system management -->
    <package name="system" namespace="/system" extends="struts-default">
        <!-- test -->
        <action name="elecTextAction_*" class="elecTextAction" method="{1}">
            <result name="save">/system/textAdd.jsp</result>
        </action>

        <action name="elecMenuAction_*" class="elecMenuAction" method="{1}">
            <result name="menuHome">/WEB-INF/page/menu/home.jsp</result>
        </action>  // I add this action then report error.
    </package>
</struts>

In my ElecMenuAction.java:

@SuppressWarnings("serial")
@Controller("elecMenuAction")
@Scope(value = "prototype")
public class ElecMenuAction extends BaseAction<MenuForm> {

    MenuForm menuForm = this.getModel();

    public String menuHome(MenuForm menuForm) {

        return "menuHome";
    }

}

In my menu/index.jsp:

<form action="${pageContext.request.contextPath}/menu/elecMenuAction_menuHome.do" method="post" target="_top">

Мой каталог ниже:


person three-blocks    schedule 04.04.2017    source источник
comment
Вы пытались настроить параметры отображения без специального символа '*'   -  person Shivam Aggarwal    schedule 04.04.2017
comment
@ShivamAggarwal Я тестирую, но бесполезно.   -  person three-blocks    schedule 04.04.2017


Ответы (1)


Я видел конфигурацию вашего пакета в struts.xml:

<package name="system" namespace="/system" extends="struts-default">

Но ваше действие формы выглядит следующим образом: почему menu, а system:

<form action="${pageContext.request.contextPath}/menu/elecMenuAction_menuHome.do" method="post" target="_top">

Вы должны изменить action на:

action="${pageContext.request.contextPath}/system/elecMenuAction_menuHome.do"

Вот почему Action mapped не может найти причину.

person aircraft    schedule 04.04.2017