There is no Action mapped for namespace / and action name “yourActionName”

Problem

Many Struts 2 developers are claimed that they had configured the action class properly but hits the actions error message while accessing the action class.

See error message in two modes :

1. “struts.devMode” is turn off (default)

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

In struts.xml

<constant name="struts.devMode" value="true" />
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

The above error message is saying that the action class is not available, it means you are did something wrong in your action class configuration, may be it’s a namespace or typo error, just double check the name.

Here’s a working action class configuration in struts.xml file, may use for your reference.

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
 
<struts>
 	<constant name="struts.devMode" value="true" />
	<package name="default" namespace="/" extends="struts-default">
 
		<action name="abcAction" 
			class="com.mkyong.common.action.AbcAction" >
			<result name="success">pages/abc.jsp</result>
		</action>
 
	</package>
</struts>

Assume the project root context is “Struts2Example“, so, you can access the above action via this URL –
http://localhost:8080/Struts2Example/abcAction.action

Tags :

About the Author

mkyong
Founder of Mkyong.com and HostingCompass.com, love Java and open source stuff. Follow him on Twitter, or befriend him on Facebook or Google Plus. If you like my tutorials, consider make a donation to these charities.

Comments

  • Pingback: I was reading this()

  • Pingback: see()

  • Pingback: http://webkingz.camkingz.com/()

  • Pingback: cheap car insurance()

  • Pingback: water ionizer payment plan()

  • Pingback: water ionizer()

  • Pingback: payment plan()

  • Pingback: HD Coloring Pages()

  • Pingback: electricians 19067()

  • Pingback: w gibson electrician amble()

  • Pingback: house blue()

  • Pingback: zak?ad szklarski piotrków trybunalski()

  • Pingback: pay day loans()

  • Pingback: plumbers wrench lowes()

  • Pingback: e t plumbers()

  • Pingback: a locksmith store casselberry fl()

  • Pingback: pay per day loans plan()

  • Pingback: stop parking()

  • Pingback: water ionizer plans()

  • Pingback: laan hurtige penge nu()

  • Pingback: sms laan nu()

  • Pingback: xnxx()

  • Pingback: parking()

  • Pingback: tvpackages.net()

  • Pingback: enagic kangen water()

  • Pingback: best bottled water()

  • Pingback: water ionizers()

  • Pingback: watch movies online free()

  • Pingback: streaming movies()

  • Pingback: streaming movies()

  • Pingback: Blue Coaster33()

  • Shrenik

    Hi Yong,

    There is a merely difference in the above problem statement & in mine problem statement. I have an issue while i tried to access URL till namespace appears. lets say my namespace in struts.xml is

    &lt;package name=&quot;default&quot; namespace=&quot;/helpdesk&quot; extends=&quot;struts-default,json-default&quot;&gt;

    and somebody accesses URL like this

    http://localhost:6035/HelpDesk/helpdesk/

    . So what happens is it shows Struts Problem Report message as mentioned above. What could be the fix of this issue? Can we redirect user to login page or any other page when access of such URL? If yes then How? please explain.

    Thanks & Regards

    Shrenik

  • xnpeng

    hi,Yong!
    would you please help me with a struts2-rest-showcase.war problem in struts-2.3.4.1 app?
    when i run the app,it gives out errors like the same thing above. because it is a rest-plugin,do not need action mapping defines in struts.xml. how to fix it? thank you.

    Struts Problem Report
    Struts has detected an unhandled exception:
    Messages:
    There is no Action mapped for namespace / and action name orders.
    Stacktraces
    There is no Action mapped for namespace / and action name orders. – [unknown location]
    com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:185)
    com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:70)
    org.apache.struts2.rest.RestActionProxyFactory.createActionProxy(RestActionProxyFactory.java:51)
    org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:501)

  • Newbie

    I got the error message when used Struts 2.2.3 annotations, for Struts 2.1, it’s just fine.

  • strutsnewbie

    Hi all

    I tried all the possible ways given here but this doesnot seems to be helpful for me. I am using Eclipse EE, so can anyone tell where to put this struts.xml file.

    • Naveen

      u have to put the struts.xml with in src folder of ur dynamic web project.

      • Dhaval

        Thanks. :)

      • prateek

        HI,

        The best way to put “struts.xml” in the resources folder. You can make the resources folder on the root.

        Thanks,
        Prateek

  • christopher

    am tired of struts2 but it provided me right solution.I love this article.I recommend this article to my friends

  • Pingback: Struts 2 Tutorials()

  • roland

    “There is no Action mapped for namespace / and action name “yourActionName”.”

    Please note, that Struts 2 has a different place for the struts.XML file!
    Under WEB-INF/classes instead of WEB-INF.

    Thanx for that undocumented or darkly commented change :-).
    The message you get is the one above, instead of the rather logical “cannot load struts.XML file. Is it in WEB-INF/classes?”

    • Pavan

      thanks a lot for your valuable key point.

    • Jojo

      This might be as simple as addiing a “/” infront of the action name as below.

        &lt;a href=&quot;" &gt; VEGGIE

      or

       

      This could fix the “There is no Action mapped for namespace” error

      • Jojo

        This might be as simple as addiing a “/” infront of the action name as below.

        • Jojo

          action=”/fileUploadAction”
          in your form

    • Amitav

      Thanx roland…. your point solved my problem….
      Thanx alot.

  • Anil

    Thank buddy..
    nice article..