Es ist keine Aktion für den Namespace/und den Aktionsnamen "yourActionName" zugeordnet.

Es ist keine Aktion für Namespace / und Aktionsname "yourActionName" zugeordnet.

Problem

Viele Struts 2-Entwickler geben an, die Aktionsklasse ordnungsgemäß konfiguriert zu haben, erhalten jedoch beim Zugriff auf die Aktionsklasse die Fehlermeldung actions.

Siehe Fehlermeldung in zwei Modi:

1. "Struts.devMode" ist ausgeschaltet (Standard)

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

Instruts.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.

Lösung

Die obige Fehlermeldung besagt, dass die Aktionsklasse nicht verfügbar ist. Dies bedeutet, dass Sie in Ihrer Aktionsklassenkonfiguration etwas falsch gemacht haben. Möglicherweise handelt es sich um einennamespace- odertypo-Fehler. Überprüfen Sie einfach den Namen.

Hier ist eine funktionierende Aktionsklassenkonfiguration in der Dateistruts.xml, die als Referenz verwendet werden kann.





    
    

        
            pages/abc.jsp
        

    

Angenommen, der Projektstammkontext ist "Struts2Example", sodass Sie über diese URL auf die obige Aktion zugreifen können -
http://localhost:8080/Struts2Example/abcAction.action