I tried to run the application with the Struts2 agreement plugin. The application was fine with struts.xml configured as follows:
<struts> <package name="struts2demo" extends="struts-default"> <action name="hey" class="action.CountryAction" method="get"> <result name="success">/index.jsp</result> </action> <action name="add" class="action.CountryAction" method="add"> <result type="redirect" name="success">hey</result> </action> </package> </struts>
now I deleted this struts.xml and added some annotations like this:
@Namespace("/") @ResultPath(value="/") public class CountryAction extends ActionSupport implements ModelDriven<Country>{ private List<Country> worldCountry; private Country country = new Country(); public Country getCountry() { return country; } public void setCountry(Country country) { this.country = country; }
but when I try to run the application, I get the following error:
Messages:
There is no Action mapped for namespace [/] and action name [hey] associated with context path [/JustStruts2].
My web.xml :
<filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> <init-param> <param-name>struts.devMode</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
If I am mistaken, any help would be appreciated. Best wishes.
source share