Default result is not rendering using result for my package alone. Flow goes to my n0result
method then It throws Exception
.
Please correct my wrong configuration.
Output :
Hello How are you noresult() method got called.....
Dec 26, 2013 12:48:04 PM org.apache.struts2.dispatcher.Dispatcher serviceAction
SEVERE: Could not find action or result
No result defined for action leo.struts.HelloWorldAction and result noresult - action - file:/D:/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/Strut2Examples/WEB-INF/classes/struts.xml:99:93
at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:350)
Form:
<s:form action="noresultactionupdate" >
<s:submit value="noresultactionupdate"/>
</s:form>
Struts.xml
<package name="resultpackage" extends="struts-default">
<result-types>
<result-type name="defaultdispatcher" default="true"
class="org.apache.struts2.dispatcher.ServletDispatcherResult" />
</result-types>
<action name="noresultactionupdate" class="leo.struts.HelloWorldAction" method="noresult">
<result name="success">/noresultend.jsp</result>
<result name="defaultdispatcher">/noresultdefaultdispatcher.jsp</result>
</action>
</package>
Action :
public String noresult() throws Exception {
System.out.println("Hello How are you noresult() method got called.....");
setMessage("noresult");
return "noresult";
}
Nothing wrong with the struts configuration. What is wrong is that
"noresult"
result is not found in the action configuration. You have either configure a result or return a result code that you have in the action config such asSUCCESS
for example.What ever the
string value
your are returning from the action class method. You must declare aresult name with the returned string value
. example in your code:Change
<result name="success">/noresultend.jsp</result>
to
<result name="noresult">/noresultend.jsp</result>
OR
You can add one more result in the action. like below
I hope It ll work.