Skip to main content

Struts2 - Subset Tag (Control Tags)

In this section, we are going to describe the subset tag. The subset tag is a generic tag that takes an iterator and outputs a subset of it. It delegates to org.apache.struts2.util.SubsetIteratorFilter internally to perform the subset functionality.

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

struts.xml

<action name="subsetTag" class="net.struts2.mergeTag">

<result>/pages/genericTags/subsetTag.jsp</result> 

</action>

Create a list in the action class and populate it with various items as shown in the "subsetTag" class.

subsetTag.java

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

public class subsetTag extends ActionSupport { 
   private List myList;

   public String execute() throws Exception{ 
      myList = new ArrayList(); 
      myList.add(new Integer(50)); 
      myList.add(new Integer(20)); 
      myList.add(new Integer(100)); 
      myList.add(new Integer(85)); 
      myList.add(new Integer(500));
      return SUCCESS;
    }

   public List getMyList(){ 
     return myList;
   }
}


Now create a jsp page using and tags as shown in the subsetTag.jsp page. The subset tag takes an iterator and outputs a subset of it.

subsetTag.jsp

<%@ taglib prefix="s" uri="/struts-tags" %>
<html> 
 <head>
   <title>Subset Tag Example!</title> 
 </head>
 <body> 
  <h1><span style="background-color: #FFFFcc">Subset Tag Example!</span></h1> 
   <s:subset source="myList">
    <s:iterator> 
     <s:property /><br>
    </s:iterator> 
   </s:subset>
 </body> 
</html>


Output of Subset Tag:

Comments

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

Struts2 - Combobox Tag (Form Tags)

The struts2 combobox is basically an HTML INPUT of type text and HTML SELECT grouped together to give you a combo box functionality. You can place text in the INPUT control by using the SELECT control or type it in directly in the text field. Add the following code snippet into the struts.xml file. struts.xml <action name="comboboxTag" class="net.struts2.comboboxTag">    <result>/pages/uiTags/comboboxTag.jsp</result> </action> Create "comboboxTag " action class and a list in the class and populate it with various items as shown in the class. comboboxTag.java package net.struts2; import com.opensymphony.xwork2.ActionSupport; import java.util.*; public class comboboxTag extends ActionSupport{      private List fruits;   public String execute()throws Exception{   fruits = new ArrayList();   fruits.add("Appl...