There is no Action mapped for namespace [/] and action name [login] associated with context path [/Struts2Test]

Issues related to: There is no Action mapped for namespace and action name associated with context path

If you use URL to call an action, make sure this URL is mapped to the Struts configuration. To troubleshoot the issue with URL mapping you can use config-browser plugin. Simply add this plugin to your project dependencies and when it's deployed, you can access a website showing you a runtime configuration with available URLs to call the action. For example if you are running Tomcat locally on port 8080 and deployed your application at the context, then you can access the plugin's URL with

http://localhost:8080/[context]/config-browser/index.action

You can click any action available on the actions page under the namespace on the sidebar. Also note that if your action is not found on the package it might be in the default package. Struts does additional search in the default namespace for the action that is not at the namespace mapped from the URL.


Check out the config-browser plugin to debug configuration issues.

To map correctly url to the action two parameters are required: the action name and namespace.

Struts loads xml configuration on startup and it should know the location of the struts.xml. By default it's looking on classpath to find a file with known name like struts.xml. Then it parses document and creates a runtime configuration. This configuration is used to find appropriate configuration element for the action url. If no such element is found during request, the 404 error code is returned with the message: There is no Action mapped for namespace and action name.

Also this message contains a namespace and action names used to find the action config. Then you can check your configuration settings in struts.xml. Sometimes the action name and namespace, stored in ActionMapping point to the wrong action. These values are determined by the ActionMapper which could have different implementation, used by plugins.

There's also another setting that might affect this mapper and mapping, but the point is the same if you get this message then URL is used didn't map any action config in runtime configuration. If you can't realize which URL you should use, you might try config-browser plugin to see the list of URLs available to use.