Struts2 - Textfield Tag (Form Tags)

In this section, we are going to describe the textfield tag. The textfield tag is a UI tag that is used to render an HTML input field of type text.

Add the following code snippet into the struts.xml file.

struts.xml
<action name="submitTag">
  <result>/pages/uiTags/submitTag.jsp</result>
</action>

Create a jsp using the tag <s:textfield >  that renders an HTML input field of type text. <s:textfield label="Employee Name" name="empname" size="15" maxlength="10" />
tag displays an HTML text field with label equal to Employee Name with length of 15 columns.

textfieldTag.jsp

<%@ taglib prefix="s" uri="/struts-tags" %>

<html>
  <head>
  <title>Textfield Tag Example</title>
  </head>
  <body>
  <h1><span style="background-color: #FFFFcc">Textfield Tag Example!</span></h1>
  <s:form>
  <s:textfield label="Employee Name"  name="empname" size="15" maxlength="10" />
  </s:form>
  </body>
</html>

Output of the textfieldTag.jsp:


Struts2 - Submit Tag (Form Tags)

In this section, we are going to describe the submit tag. The submit tag is a UI tag that is used to render a submit button. The submit tag is used with the form tag to provide asynchronous form submissions. The submit can have three different types of rendering:

• input: renders as html <input type="submit"...>
• image: renders as html <input type="image"...>
• button: renders as html <button type="submit"...>

Add the following code snippet into the struts.xml file.
struts.xml
<action name="submitTag">
  <result>/pages/uiTags/submitTag.jsp</result>
</action>


Create a jsp using the tag <s:submit> that renders a submit button. This tag contains various parameters:
The value parameter presets the value of input element. In our 1st case we have set it to "Submit"
The type parameter sets the type of submit to use. Valid values are input, button and image. In our case we have set it to "image"
The src supplies an image src for image type submit button. It will have no effect for types input and button. In our case we have set it to:"/struts2tags/pages/uiTags/submit.gif" The align sets HTML align attribute. In our case we have set it to:"center"

submitTag.jsp
<%@ taglib prefix="s" uri="/struts-tags" %>

<html>
  <head>
  <title>Submit Tag Example</title>
  
  </head>
  <body>
  <h1><span style="background-color: #FFFFcc">Submit Tag Example!</span></h1>
  <s:form>
  <s:textfield name="username" label="User Name" size="15" maxlength="10" />
  <s:textfield name="password" label="Password" size="15" maxlength="10" />
  <s:submit value="Submit" />
  <!-- To use gif button -->
  <s:submit type="image" src="/struts2tags/pages/uiTags/submit.gif" 
     align="center" />
  </s:form>
  </body>
</html>

Output of the submitTag.jsp:

Struts2 - Select Tag (Form Tags)

In this section, we are going to describe the select tag. The select tag is a UI tag that is used to render an HTML input tag of type select.
Add the following code snippet into the struts.xml file.

struts.xml
<action name="selectTag" class="net.struts2.weekDay">
   <result>/pages/uiTags/selectTag.jsp</result>
</action>

Create an action class with a list populated with various items as shown below:
weekDay.java
package net.struts2;
import com.opensymphony.xwork2.ActionSupport;
import java.util.*;

public class weekDay extends ActionSupport{
  
  private List day;
  public String execute()throws Exception{
  day = new ArrayList();
  day.add("Sunday");
  day.add("Monday");
  day.add("Tuesday");
  day.add("Wednesday");
  day.add("Thursday");
  day.add("Friday");
  day.add("Saturday");
  return SUCCESS;

  }

  public List getDay(){
  return day;
  }
}

Create a jsp using the tag that creates an HTML input tag of type select. This tag contains various parameters:
The label parameter sets the label expression used for rendering an element specific label. In our 1st case we have set it to "Select Day"
The name parameter sets the name for the element. In our 1st case we have set it to "daysname"
The headerKey sets key for first item in list. It must not be empty and wrongly specified.
In both cases we have set it to:"1" The headerValue sets the Value expression for the first item in the list. In both cases we have set it to:"--- Please Select ---"


selectTag.jsp

<%@ taglib prefix="s" uri="/struts-tags" %>

<html>
  <head>
  <title>Select Tag Example</title>
  </head>
  <body>
  <h1><span style="background-color: #FFFFcc">Select Tag Example!</span></h1>
  <s:form>
  <s:select label="Select Day" 
  name="daysname" 
  headerKey="1"
  headerValue="-- Please Select --"
  list="day"
  />

  <s:select label="Select Month" 
  name="monthname" 
  headerKey="1"
  headerValue="-- Please Select --"
  list="#{'01':'January','02':'February','03':'March','04':'April',
'05':'May','06':'June','07':'July','08':'August','09':'September','10':
'October','11':'November','12':'December'}"
  />
  </s:form>
  </body>
</html>

Output of the selectTag.jsp :