自定义Decider :
subset.jsp:
package com.struts2.tag.exer.web.utils;
import org.apache.struts2.util.SubsetIteratorFilter.Decider;
public class MyDecider implements Decider {
//this way could decide whether current elements in this set could be selected into sub set .
public boolean decide(Object obj) throws Exception {
String str = (String)obj;
//if element include "MyBatis" string , which will be selected into sub set.
return str.indexOf("MyBatis")!=-1;
}
}
subset.jsp:
<%@ page language="java" contentType="text/html;charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head><title>subset</title></head>
<body>
<table border="1" width="200">
<tr>
<td colspan="2">Subset</td>
</tr>
<tr>
<td>Book Name</td>
<td>Author</td>
</tr>
<s:subset source="{'AJAX in Action','MyBatis','JavaScrpit','SQL Server'}" start="0" count="4">
<s:iterator status="st">
<tr <s:if test="#st.odd">style="background-color:#bbbbbb"</s:if>>
<td><s:property/></td>
</tr>
</s:iterator>
</s:subset>
</table>
<table border="1" width="200">
<tr>
<td colspan="2">Subset -use decider</td>
</tr>
<tr>
<td>Book Name</td>
<td>Author</td>
</tr>
<s:bean id="myDecider" name="com.struts2.tag.exer.web.utils.MyDecider"/>
<s:subset source="{'AJAX in Action','MyBatis','JavaScrpit','SQL Server'}" decider="#myDecider">
<s:iterator status="st">
<tr <s:if test="#st.odd">style="background-color:#bbbbbb"</s:if>>
<td><s:property/></td>
</tr>
</s:iterator>
</s:subset>
</table>
</body>
</html>