Building Forms With Struts
Previous | Home | Next |
Here, We covers way to build forms in Struts Frameworks.When user submits request an HTML form.First, Action Servlet class looks at the field names from the HTML form after that check the properties names in the form bean.
To create a Form using Struts Framework we need include HTML Tag library and Sub class of ActionForm.
Note:- Sub class of ActionForm must needed for building form.Without it Application will not execute and will throws exception.
Struts Framework defines following basic input type fields in HTML tags :-
- checkboxes
- hidden fields
- password input fields
- radio buttons
- reset buttons
- select
- option
- options
- submit buttons
- text input fields
- textareas
Directory Structure of FormTagExample in Struts 1.3 Using MyEclipse IDE

<%@taglib uri="http://struts.apache.org/tags-html" prefix="html"%> <%@taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%> <html:html> <head> <title><bean:message key="label.title"/></title> </head> <body> <h3><bean:message key="label.header"/></h3> <html:form action="/formAction"> <bean:message key="label.name"/>: <html:text property="name" name="formForm"/><br/> <bean:message key="label.technology"/>: <html:text property="technology" name="formForm"/><br/> <br/> <html:submit><bean:message key="label.submit" /></html:submit> <html:reset><bean:message key="label.reset" /></html:reset> </html:form> </body> </html:html>
<!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>
<?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="formForm" type="org.r4r.struts.FormForm"/> </form-beans> <global-exceptions /> <global-forwards /> <action-mappings > <action path="/form" type="org.apache.struts.actions.ForwardAction" parameter="/index.jsp"/> <action path="/formAction" type="org.r4r.struts.FormAction" name="formForm" input="/index.jsp"> <forward name="success" path="/success.jsp"/> </action> </action-mappings> <message-resources parameter="org.r4r.struts.ApplicationResources" /> </struts-config>
package org.r4r.struts; import org.apache.struts.action.ActionForm; @SuppressWarnings("serial") public class FormForm extends ActionForm { private String name; private String technology; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getTechnology() { return technology; } public void setTechnology(String technology) { this.technology = technology; } }
package 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 FormAction extends Action { public ActionForward execute(ActionMapping mapping,ActionForm form, HttpServletRequest request,HttpServletResponse response) throws Exception{ @SuppressWarnings("unused") FormForm passwordForm=(FormForm)form; return mapping.findForward("success"); } }
#label message label.title=Struts html:form tag example label.header=Struts html:form tag example label.name = User Name label.technology = Technology Name label.submit = Submit label.reset = Reset
<%@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> <h4><bean:message key="label.name"/>:-<bean:write name="formForm" property="name" /></h4> <h4><bean:message key="label.technology"/>:-<bean:write name="formForm" property="technology" /></h4> </body> </html>

Previous | Home | Next |