Mapping Dispatch Action Example in struts

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

MappingForm

package com.mapping;

import org.apache.struts.action.ActionForm;

public class MappingForm extends ActionForm{

int n1;
int n2;
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;
}

}

MappingAction

package com.mapping;

import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import org.apache.struts.actions.MappingDispatchAction;

public class MappingAction extends MappingDispatchAction{

public ActionForward add(ActionMapping map,ActionForm form,HttpServletRequest req,HttpServletResponse res)
{
MappingForm l1=(MappingForm)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)
{
MappingForm l1=(MappingForm)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="mapform" type="com.mapping.MappingForm" />
</form-beans>

<action-mappings>
<action path="/mappingtest1"
type="com.mapping.MappingAction"
name="mapform"
input="/MappingTest.jsp"
parameter="add">
<forward name="add" path="/add.jsp"/>

</action>

<action path="/mappingtest2"
type="com.mapping.MappingAction"
name="mapform"
input="/MappingTest.jsp"
parameter="delete">
<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>MappingTest.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>

MappingTest.jsp

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@ taglib uri="/tags/struts-bean" prefix="bean"%>
<html:html>
<head>
<script type="text/javascript">
function Addtest()
{
document.testform.action="./mappingtest1.do";
document.testform.submit();
}

function Deletetest()
{
document.testform.action="./mappingtest2.do";
document.testform.submit();
}

</script>

</head>
<body>
<form name="testform">
<center>
<h2><u>Mapping Dispatch Form</u></h2>
Number1:<html:text property="n1" value=""/><br><br>
Number2:<html:text property="n2" value=""/><br><br>

<input type="button" value="Add" onclick="Addtest()"/>
<input type="button" value="Delete" onclick="Deletetest()"/>

</form>

</body>
</html:html>

add.jsp

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

</html>

delete.jsp

<html>

<center>In Delete Action<br>

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

</html>

No comments: