You could use a config-browser plugin. It's useful if you want to see the configuration in the browser and how actions are mapped to the URLs.
Actually, the cause of the problem that you use a convention-plugin. It's used if you put struts2-convention-plugin-2.3.x.jar
into WEB-INF/lib
. When installed it scans the packages, defined in the struts-plugin.xml
and creates an additional to struts.xml
configuration by conventions. As well as your action is comply the rules used by the plugin the action "hello"
is created for the class HelloAction
but unfortunately it has no a result "success"
. To add this result to the action you should use @Result
annotation on the class, or use @ResultPath
annotation to specify the path to results where they could be located instead of default WEB-INF/content
. The same could be done if you apply struts.convention.result.path
configuration settings.
@Result(name = SUCCESS, location = "/hello.jsp")
Also note, that the mapping you defined in the struts.xml
for the action "hello"
has less meaning unless it mapped to the method specified. And name of the JSP supposed a typo for index.jsp
.