Skip to main content

Struts2 - Auto Completer Tag

In this section, we are going to describe the autocompleter tag. The autocompleter tag always displays a dropdown list with the options that have at least a partial match with entered text in the textbox. If the user clicks on the dropdown button then all options shown in the dropdown list. The autocompleter tag generates two input fields. First is "text", whose name is specified with the "name" attribute and another one is "hidden" whose name is "$(name). Key", where ${name} is the value in the "name" attribute.

The autocompleter tag loads its options asynchronously when the page loads suggested options based on the text entered by you in textbox. If the autoComplete attribute is set to 'true' (By defalut 'false') then it makes suggestions in the textbox.

[Note: When we use the "simple" theme, the autocompleter can be used like the ComboBox. When used on the "ajax" theme, the list can be retrieved from an action.]

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

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

Create a list in the action class and populate them with various states name of U.S. as shown in the "autocompleter" class.

package net.struts2;
import com.opensymphony.xwork2.ActionSupport;
import java.util.*;

public class autocompleter extends ActionSupport{
  private List state;
  public String execute() throws Exception{
  state = new ArrayList();
  state.add("Alabama");
  state.add("Alaska");
  state.add("Arizona");
  state.add("Arkansas");
  state.add("California");
  state.add("Colorado");
  state.add("Connecticut");
  state.add("Delaware");
  state.add("District of Columbia");
  state.add("Florida");
  state.add("Georgia");
  state.add("Hawaii");
  state.add("Idaho");
  state.add("Illinois");
  state.add("Indiana");
  state.add("Iowa");  
  state.add("Kansas");  
  state.add("Kentucky");
  state.add("Louisiana");  
  state.add("Maine");  
  state.add("Maryland");
  state.add("Massachusetts");  
  state.add("Michigan");
  state.add("Minnesota");
  state.add("Mississippi");
  state.add("Missouri");
  state.add("Montana");  
  state.add("Nebraska");  
  state.add("Nevada");  
  state.add("New Hampshire");  
  state.add("New Jersey");
  state.add("New Mexico");
  state.add("New York");  
  state.add("North Carolina");
  state.add("North Dakota");  
  state.add("Ohio");
  state.add("Oklahoma");
  state.add("Oregon");  
  state.add("Pennsylvania");
  state.add("Rhode Island");  
  state.add("South Carolina");  
  state.add("South Dakota");
  state.add("Tennessee");  
  state.add("Texas");  
  state.add("Utah");
  state.add("Vermont");  
  state.add("Virginia");  
  state.add("Washington");  
  state.add("West Virginia");
  state.add("Wisconsin");  
  state.add("Wyoming");
  return SUCCESS;
  }
  public List getState(){
  return state;
  }
}



it creates a autocompleter list with the name of U.S. states.


autocompleter.jsp

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

<html>
  <head>
  <title>Struts 2 Autocompleter Example!</title>
  <s:head theme="ajax" />
  </head>
  <body>
  <h1>Struts 2 Autocompleter Example!</h1>
  <s:label name="stateName" value="Select State Name:" />
  <s:autocompleter theme="simple" list="state" name="StateName"/>
  </body>
</html>

Output of the autocompleter.jsp :




When you enter the 'c' letter in the textbox. You get the following names:


Popular posts from this blog

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">Tex...

Struts2 - Radio Tag (Form Tags)

In this section, we are going to describe the radio tag. The radio tag is a UI tag that renders a radio button input field. Add the following code snippet into the struts.xml file. struts.xml <action name="radioTag" class="net.struts2.checkboxlistTag">   <result>/pages/uiTags/radioTag.jsp</result> </action> Create an action class with two lists as shown below: checkboxlistTag.java package net.struts2; import com.opensymphony.xwork2.ActionSupport; import java.util.*; public class checkboxlistTag extends ActionSupport{      private List fruits;   private List animals;     public String execute()throws Exception{   fruits = new ArrayList();   fruits.add("Apple");   fruits.add("Mango");   fruits.add("Orange");   fruits.add("Pine Apple");  ...

Struts2 - Optgroup Tag (Form Tags)

In this section, we are going to describe the optgroup tag. The optgroup tag is a UI tag that creates an optgroup component which needs to reside within a select tag <s:select>. Add the following code snippet into the struts.xml file. struts.xml <action name="optgroupTag">    <result>/pages/uiTags/optgroupTag.jsp</result> </action> Create a jsp using the tag <s:optgroup> within the <s:select> tag. It creates an optgroup component. This tag contains few parameters: The label parameter sets the label attribute In our case we have set it to " Hardware " and " Software ". optgroupTag.jsp <%@ taglib prefix="s" uri="/struts-tags" %> <html>   <head>   <title>Optgroup Tag Example!</title>    </head>   <body>  <h1><span style="background-color: #FFFFcc">Optgroup Tag Ex...