Il n’y a pas d’action mappée pour l’espace de nom/et le nom de l’action “yourActionName”

Il n'y a pas d'action mappée pour l'espace de noms / et le nom d'action «yourActionName»

Problème

De nombreux développeurs de Struts 2 prétendent avoir configuré correctement la classe d'actions mais obtiennent le message d'erreur d'actions lors de l'accès à la classe d'actions.

Voir le message d'erreur en deux modes:

1. «Struts.devMode» est désactivé (par défaut)

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

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

Solution

Le message d'erreur ci-dessus indique que la classe d'action n'est pas disponible, cela signifie que vous avez fait quelque chose de mal dans la configuration de votre classe d'action, peut-être une erreurnamespace outypo, vérifiez simplement le nom.

Voici une configuration de classe d'action de travail dans le fichierstruts.xml, que vous pouvez utiliser pour votre référence.




    
    

        
            pages/abc.jsp
        

    

Supposons que le contexte racine du projet est «Struts2Example», vous pouvez donc accéder à l'action ci-dessus via cette URL -
http://localhost:8080/Struts2Example/abcAction.action