Action overviews for struts applications
Previous | Home | Next |
Action overviews for struts applicationsAn Action represents appication's data and state and contains the business logic for accessing and manipulating that data.where data that is part of the persistent state of the application. ActionForm bean represents the Model state and not at a persistent level.The controller can accessed model services effecting a change in the model state.The model notifies the view when a state change occurs in the model.
Directory Structure of ActionFormExample in Struts 1.3 Using MyEclipse IDE
index.jsp<%@taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %> <%@taglib uri="http://struts.apache.org/tags-html" prefix="html" %> <html> <head> <title><bean:message key="label.title"/></title> </head> <body> <h3><bean:message key="label.header"/></h3> <html:form action="/actionFormAction" > <table cellpadding="3" cellspacing="3"> <tr><td><bean:message key="label.name"/></td><td><html:text name="actionFormForm" property="name" /></td></tr> <tr><td><bean:message key="label.address"/></td><td><html:text name="actionFormForm" property="address" /></td></tr> <tr><td><bean:message key="label.city"/></td><td><html:text name="actionFormForm" property="city" /></td></tr> <tr><td><bean:message key="label.state"/></td><td><html:text name="actionFormForm" property="state" /></td></tr> <tr><td><bean:message key="label.country"/></td><td><html:text name="actionFormForm" property="country" /></td></tr> <tr><td><html:submit><bean:message key="label.submit"/></html:submit></td></tr> </table> </html:form> </body> </html>web.xml<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>Maven Struts Examples</display-name> <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>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> </web-app>struts-config.xml<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd"> <struts-config> <form-beans> <form-bean name="actionFormForm" type="org.r4r.struts.MyActionForm"/> </form-beans> <global-exceptions /> <global-forwards /> <action-mappings> <action path="/actionForm" type="org.apache.struts.actions.ForwardAction" parameter="/index.jsp"/> <action path="/actionFormAction" name="actionFormForm" type="org.r4r.struts.MyActionFormAction" input="/index.jsp"> <forward name="success" path="/success.jsp"/> </action> </action-mappings> <message-resources parameter="org.r4r.struts.ApplicationResources" /> </struts-config>MyActionForm.javapackage org.r4r.struts; import org.apache.struts.action.ActionForm; @SuppressWarnings("serial") public class MyActionForm extends ActionForm { private String name; private String address; private String city; private String state; private String country; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getState() { return state; } public void setState(String state) { this.state = state; } public String getCountry() { return country; } public void setCountry(String country) { this.country = country; } }MyActionFormAction.javapackage org.r4r.struts; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; public class MyActionFormAction extends Action { public ActionForward execute(ActionMapping mapping,ActionForm form, HttpServletRequest request,HttpServletResponse response) throws Exception{ return mapping.findForward("success"); } }ApplicationResources.properties# Resources for parameter 'org.r4r.struts.ApplicationResources' label.title=Struts 1.3 ActionForm Example label.header=Struts 1.3 ActionForm Example label.name=Name label.address=Address label.city=City label.state=State label.country=Country label.submit=Submitsuccess.jsp<%@taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %> <%@taglib uri="http://struts.apache.org/tags-html" prefix="html" %> <html> <head> <title><bean:message key="label.title"/></title> </head> <body> <h3><bean:message key="label.header"/></h3> <table cellpadding="3" cellspacing="3" border="1"> <tr><td><bean:message key="label.name"/>:-</td><td><bean:write name="actionFormForm" property="name"/></td></tr> <tr><td><bean:message key="label.address"/>:-</td><td><bean:write name="actionFormForm" property="address"/></td></tr> <tr><td><bean:message key="label.city"/>:-</td><td><bean:write name="actionFormForm" property="city"/></td></tr> <tr><td><bean:message key="label.state"/>:-</td><td><bean:write name="actionFormForm" property="state"/></td></tr> <tr><td><bean:message key="label.country"/>:-</td><td><bean:write name="actionFormForm" property="country"/></td></tr> </table> </body> </html>Output
Previous | Home | Next |