Dispatch Action Example in struts

Here I am explaining how to do Dispatch Action in struts .

DispatchForm


package com.DispatchAction;

import org.apache.struts.action.ActionForm;
/**
*
* @author Prasanthi
*
*/
public class DispatchForm extends ActionForm{

int n1;
int n2;
String method;
public String getMethod() {
return method;
}
public void setMethod(String method) {
this.method = method;
}
public int getN1() {
return n1;
}
public void setN1(int n1) {
this.n1 = n1;
}
public int getN2() {
return n2;
}
public void setN2(int n2) {
this.n2 = n2;
}

}

DispatchAction

package com.DispatchAction;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
/**
*
* @author Prasanthi
*
*/

public class DispatchAction1 extends DispatchAction{

public ActionForward add(ActionMapping map,ActionForm form,HttpServletRequest req,HttpServletResponse res)
{
DispatchForm l1=(DispatchForm)form;
int n1=l1.getN1();
int n2=l1.getN2();
HttpSession ses=req.getSession();
int tot=n1+n2;
ses.setAttribute("tot",Integer.toString(tot));

return map.findForward("add");

}

public ActionForward delete(ActionMapping map,ActionForm form,HttpServletRequest req,HttpServletResponse res)
{
DispatchForm l1=(DispatchForm)form;
int n1=l1.getN1();
int n2=l1.getN2();
HttpSession ses=req.getSession();
int tot=n1-n2;
ses.setAttribute("del",Integer.toString(tot));
return map.findForward("delete");

}

}

struts-config.xml

<struts-config>

<form-beans>
<form-bean name="dispatchform" type="com.DispatchAction.DispatchForm" />
</form-beans>

<action-mappings>
<action path="/dispatchtest"
type="com.DispatchAction.DispatchAction1"
name="dispatchform"
input="/DispatchTest.jsp"
parameter="method">
<forward name="add" path="/add.jsp"/>
<forward name="delete" path="/delete.jsp"/>
</action>

</action-mappings>

</struts-config>

web.xml

<web-app>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<welcome-file-list>
<welcome-file>DispatchTest.jsp</welcome-file>
</welcome-file-list>

<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>

<taglib>
<taglib-uri>/tags/struts-html</taglib-uri>
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/tags/struts-bean</taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>
</web-app>

DispatchTest.jsp

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@ taglib uri="/tags/struts-bean" prefix="bean"%>
<html:html>
<body>
<br><br>
<html:form action="/dispatchtest">
<center>
<h2><u>DispatchForm</u></h2>
Number1:<html:text property="n1" value=""/><br><br>
Number2:< html:text property="n2" value=""/><br><br>

Select<select name="method" >
<option value="add">Add</option>
<option value="delete">Delete</option>
<br/>
</select>
<html:submit/>

</html:form>

</body>
</html:html>

add.jsp

<html>
<br><br>
<center>
In ADD Action<br>
<% String st=(String)session.getAttribute("tot");%>
Total is <%=st%>

</html>
delete.jsp

<html>
<br><br>
<center>In Delete Action<br>

<% String st=(String)session.getAttribute("del");%>
After Subtraction <%=st%>

</html>

No comments: