Struts <html:textarea> TextArea example
In this Struts example, you will learn how to create a HTML text area input field with Struts <html:textarea> tag.
1. Folder Structure
This is the final project structure created by Maven. Please create the corresponding folders.

2. Action class
Create an Action class, do nothing but forward the request.
HtmlTextAreaAction.java
package com.mkyong.common.action; 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; import com.mkyong.common.form.HtmlTextAreaForm; public class HtmlTextAreaAction extends Action{ public ActionForward execute(ActionMapping mapping,ActionForm form, HttpServletRequest request,HttpServletResponse response) throws Exception { HtmlTextAreaForm htmlTextAreaForm = (HtmlTextAreaForm)form; return mapping.findForward("success"); } }
3. Properties file
Create a properties file, and declare the error and label messages.
Common.properties
#error message error.common.html.textarea.required = "Address" field is required. #label message label.common.html.textarea.address = Address label.common.html.textarea.button.submit = Submit label.common.html.textarea.button.reset = Reset
4. ActionForm
Create a ActionForm, contains a address variable to hold the text area input value.
HtmlTextAreaForm.java
package com.mkyong.common.form; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionMessage; public class HtmlTextAreaForm extends ActionForm{ String address; public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { ActionErrors errors = new ActionErrors(); if( getAddress() == null || ("".equals(getAddress()))) { errors.add("common.textarea.err", new ActionMessage("error.common.html.textarea.required")); } return errors; } @Override public void reset(ActionMapping mapping, HttpServletRequest request) { // reset properties address = ""; } }
5. JSP Page
Use the Struts HTML tag <html:textarea> to create a HTML text area input field.
textarea.jsp
<%@taglib uri="http://struts.apache.org/tags-html" prefix="html"%> <%@taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%> <html> <head> </head> <body> <h1>Struts html:textarea example</h1> <html:form action="/TextArea"> <html:messages id="err_name" property="common.textarea.err"> <div style="color:red"> <bean:write name="err_name" /> </div> </html:messages> <div style="padding:16px"> <div style="float:left;padding-right:8px;"> <bean:message key="label.common.html.textarea.address" /> : </div> <html:textarea property="address" cols="50" rows="10" /> </div> <div style="padding:16px"> <div style="float:left;padding-right:8px;"> <html:submit> <bean:message key="label.common.html.textarea.button.submit" /> </html:submit> </div> <html:reset> <bean:message key="label.common.html.textarea.button.reset" /> </html:reset> </div> </html:form> </body> </html>
Get the text area input value from htmlTextAreaForm form and display it
display.jsp
<%@taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%> <html> <head> </head> <body> <h1> Your address is : <bean:write name="htmlTextAreaForm" property="address" /> </h1> </body> </html>
6. struts-config.xml
Create a Struts configuration file and link all together.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_3.dtd"> <struts-config> <form-beans> <form-bean name="htmlTextAreaForm" type="com.mkyong.common.form.HtmlTextAreaForm"/> </form-beans> <action-mappings> <action path="/TextAreaPage" type="org.apache.struts.actions.ForwardAction" parameter="/pages/textarea.jsp"/> <action path="/TextArea" type="com.mkyong.common.action.HtmlTextAreaAction" name="htmlTextAreaForm" validate="true" input="/pages/textarea.jsp" > <forward name="success" path="/pages/display.jsp"/> </action> </action-mappings> <message-resources parameter="com.mkyong.common.properties.Common" /> </struts-config>
7. web.xml
Final step, create a web.xml and integrate the Struts framework.
<!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>
Access it
http://localhost:8080/StrutsExample/TextAreaPage.do

Fill in the address and pressed the submit button, it will forward to
http://localhost:8080/StrutsExample/TextArea.do
and display the your key in address.

[...] TextArea example Struts <html:textarea> textaread example. [...]