Merge Tag (Control Tags) Example
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.
- Display first element of the first list.
- Display first element of the second list.
- Display second element of the first list.
- Display second element of the second list.
- Display third element of the first list.
- 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.roseindia.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;
|
Now create a jsp page using <s:merge>
and <s:param value>
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 <s:iterator>
is used to get the values contained within
the respective iterators.
mergeTag.jsp
<%@ taglib prefix="s" uri="/struts-tags" %>
|
Output of merge Tag: