Для пространства имен/и имени действия «yourActionName» не отображается действие

Для пространства имен / и имени действия «yourActionName» не отображается действие.

проблема

Многие разработчики Struts 2 утверждают, что они правильно настроили класс действия, но при обращении к классу действия отображают сообщение об ошибке действия.

Смотрите сообщение об ошибке в двух режимах:

1. «Struts.devMode» выключен (по умолчанию)

HTTP Status 404 -
There is no Action mapped for namespace / and action name "yourActionName".

type Status report

message There is no Action mapped for namespace / and action name "yourActionName".

description The requested resource
(There is no Action mapped for namespace / and action name "yourActionName".) is not available.

2. struts.devMode is turn on

Вstruts.xml

Struts Problem Report

Struts has detected an unhandled exception:

Messages:
There is no Action mapped for namespace / and action name "yourActionName".
Stacktraces

There is no Action mapped for namespace / and action name "yourActionName". - [unknown location]
    com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:178)
    org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
   ...

You are seeing this page because development mode is enabled. Development mode, or devMode,
enables extra debugging behaviors and reports to assist developers. To disable this mode, set:

  struts.devMode=false
in your WEB-INF/classes/struts.properties file.

Решение

В приведенном выше сообщении об ошибке говорится, что класс действия недоступен, это означает, что вы сделали что-то не так в конфигурации своего класса действий, возможно, это ошибкаnamespace илиtypo, просто дважды проверьте имя.

Вот конфигурация рабочего класса действия в файлеstruts.xml, которую можно использовать для справки.





    
    

        
            pages/abc.jsp
        

    

Предположим, что корневой контекст проекта - «Struts2Example», поэтому вы можете получить доступ к вышеуказанному действию через этот URL-адрес -
http://localhost:8080/Struts2Example/abcAction.action