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
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:
No comments:
Post a Comment