What is role of Action Class?



An Action class in the struts application extends Struts ‘org.apache.struts.action.Action” Class.

Action class acts as wrapper around the business logic and provides an inteface to the application’s Model layer.

An Action works as an adapter between the contents of an incoming HTTP request and the business logic that corresponds to it.

Then the struts controller (ActionServlet) slects an appropriate Action and Request Processor creates an instance if necessary,

and finally calls execute method of Action class.

To use the Action, we need to Subclass and overwrite the execute() method. and your bussiness login in execute() method.

The return type of the execute method is ActionForward which is used by the Struts Framework to forward the request to the JSP as per the value of the returned ActionForward object.

ActionForward JSP from struts_config.xml file.

Developing our Action Class :

Our Action class (EmpAction.java) is simple class that only forwards the success.jsp.

Our Action class returns the ActionForward called “success”, which is defined in the struts-config.xml file (action mapping is show later in this page).

Here is code of our Action Class

public class EmpAction extends Action

{

public ActionForward execute(

ActionMapping mapping,

ActionForm form,

HttpServletRequest request,

HttpServletResponse response) throws Exception{

return mapping.findForward(”success”);

}

}

mapping.findForward(”success”); forward to JSP mentioned in struts_config.xml.

struts_config.xml configuration is :

path="/EmpAction"

type="com.techfaq.EmpAction">

mapping.findForward(”success”) method forward to success.jsp (mentioned in struts_config.xml);

Here is the signature of the execute() method Action Class.

public ActionForward execute(ActionMapping mapping,

ActionForm form,

javax.servlet.http.HttpServletRequest request,

javax.servlet.http.HttpServletResponse response)

throws java.lang.Exception

Where

mapping - The ActionMapping used to select this instance

form - The optional ActionForm bean for this request (if any)

request - The HTTP request we are processing

response - The HTTP response we are creating

Throws:

Action class throws java.lang.Exception - if the application business logic throws an exception

In the browser : http://localhost:8080/testApp/EmpAction.do

This will call to execute() method of EmpAction and after that based on mapping.findForward(”success”) forward to success.jsp.




Explore posts in the same categories: Struts Interview Questions


BOOKMARK THIS : BlinkList | del.icio.us | Digg it | Furl | reddit | StumbleUpon | Yahoo MyWeb |


Comments are closed.