Can I create two methods in the same Action Class? If so how can we specify it in the struts.xml
file ?
For example : I created a simple validation acti
Rather than code a separate mapping for each action class that uses this pattern, you can write it(method="{1}") once as a wildcard mapping.
Yes you can create any number of methods in an Action Class. You can do something like this
package com.myvalidation;
public class MyValidationClass extends ActionSupport
{
public String emailVerification() throws Exception
{
//Your validation logic for email validation
return SUCCESS;
}
public String passVerification() throws Exception
{
//Your validation logic for password validation
return SUCCESS;
}
}
struts.xml
<action name="emailVerification" method="emailVerification" class="com.myvalidation.MyValidationClass">
<result name="success">/your_success_jsp.jsp</result>
<result name="input">/your_error_jsp.jsp</result>
</action>
<action name="passVerification" method="passVerification" class="com.myvalidation.MyValidationClass">
<result name="success">/your_success_jsp.jsp</result>
<result name="input">/your_error_jsp.jsp</result>
</action>
Using the folowing URL format you can call any public method from Struts action class:
/ActionName!publicMethodName.action?p1=v1&p2=v2
For more information refer to: Action Configuration