Generator Tag (Control Tags) Using an Iterator with Id Attributes

In this section, we are going to describe the generator tag using the id attributes.

Generator Tag (Control Tags) Using an Iterator with Id Attributes

Generator Tag (Control Tags) Using an Iterator with Id Attributes

     

In this section, we are going to describe the generator tag using the id attributes. 

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

struts.xml

<action name="GeneratorTagIdAttribute" class="net.roseindia.GeneratorTag">
  <result>/pages/genericTags/GeneratorTagIdAttribute.jsp</result>
</action>

Create an action class as shown :  

GeneratorTag.java

package net.roseindia;
import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.util.IteratorGenerator.Converter;

public class GeneratorTag extends ActionSupport {
  public String excute() throws Exception{
  return  SUCCESS;
  }
}

Create a jsp page where the generator tag <s:generator> generates an iterator with "id" attribute and <s:iterator> tag prints it out using the  <s:property /> tag. The separator attribute separates the val into entries of the iterator.

The scriplet as shown below generates an iterator and put it in the PageContext under the key as specified
by the id attribute.
     <%
  Iterator i = (Iterator) pageContext.getAttribute("myAtt");
  while(i.hasNext()) {
  String s = (String) i.next(); %>
  <%=s%> <br/>
  <% }
  %>

GeneratorTagIdAttribute.jsp

<%@ taglib prefix="s" uri="/struts-tags" %>
<%@page language="java" import="java.util.*"%>

<html> 
  <head>
  <title> Generator Tag Example! </title>
  </head>
  <body>
  <h1><span style="background-color: #FFFFcc">Generator Tag Example!</span></h1>
  <h3><font color="#0000FF"> Generates an Iterator With Id Arrtibute</font></h3>
  <s:generator val="%{'www.Roseindia.net,Deepak Kumar,Sushil Kumar,Vinod 
  Kumar,Amit Kumar'}" count="4" separator="," id="myAtt" />
  <%
  Iterator i = (Iterator) pageContext.getAttribute("myAtt");
  while(i.hasNext()) {
  String s = (String) i.next(); %>
  <%=s%> <br/>
  <% }
  %>
  </body>
</html> 

Output of the  Generator Tag Example: