Skip to main content

Struts2 - Merge Tag (Control Tags)

In this section, we are going to describe the merge tag. The merge tag is a generic tag that is used to merge iterators. The successive call to the merge iterator causes each merge iterator to have a chance to expose its element, subsequently next call allows the next iterator to expose its element. Once the last iterator is done exposing its element, the first iterator is allowed to do so again (unless it is exhausted of entries).

In the current example, 2 lists being merged, each list have 5 entries, the following will be the logic.

1. Display first element of the first list.
2. Display first element of the second list.
3. Display second element of the first list.
4. Display second element of the second list.
5. Display third element of the first list.
6. Display thrid element of the second list.....and so on.


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

struts.xml

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

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

</action>

Create two lists in the action class and populate them with various items as shown in the "mergeTag" class.

mergeTag.java

package net.roseindia; 

import com.opensymphony.xwork2.ActionSupport; 

import java.util.*;


public class mergeTag extends ActionSupport { 

   private List myList; 

   private List myList1;


   public String execute() throws Exception{ 

     myList = new ArrayList(); 

     myList.add("Deepak Kumar"); 

     myList.add("Sushil Kumar"); 

     myList.add("Vinod Kumar"); 

     myList.add("Amit Kumar");

     myList1 = new ArrayList(); 

     myList1.add("Himanshu Raj"); 

     myList1.add("Mr. khan"); 

     myList1.add("John"); 

     myList1.add("Ravi Ranjan"); 

   return SUCCESS;

  } 

  public List getMyList(){

    return myList;

  }

  public List getMyList1(){ 

   return myList1;

 }

}


Now create a jsp page using and tags as shown in the mergeTag.jsp page. The merge tag is used to merge iterators. The "id" parameter keeps the resultant iterator stored under in the stack's context and the "value" parameter in the is used to get the values contained within the respective iterators.


mergeTag.jsp

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

<html> 

 <head>

   <title>Merge Tag Example!</title> </head>

 <body> 

   <h1><span style="background-color: #FFFFcc">Merge Tag Example!</span></h1>

   <s:merge id="mergeId"> 

    <s:param value="%{myList}" /> 

    <s:param value="%{myList1}" />

   </s:merge>

   <s:iterator value="%{#mergeId}"> 

      <s:property /><br>

   </s:iterator> 

  </body>

</html>


Output of merge 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 - 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...