20NN课程网
扫一扫,放到手机桌面

struts中文手册

Struts subset标签语法与示例

Subset标签从一个List元素中跟据需要获需所需元素并生成一个新的可迭代集合对象。值得注意的是,Subset标签可以指定一个decider属性,用于对每个元素做出复杂的判断。

如果没有指定var对象,新的集合将被放到ValueStack中,可能过%{top}或获取该集合;如果有指定var对象,新的集合将被以var对象值命名,并放到PageContext中,可通过%{#attr.varname}获得该集合。

Subset标签属性

IF标签属性
属性名必要属性默认值类型描述
countFALSE/Integer指定最多取多少个元素。
deciderFALSE/org.apache.struts2.util.SubsetIteratorFilter.DeciderDecider实例,用于判定每个元素是否需要放入Subset。
sourceFALSE/Object被过滤的原集合。
startFALSE/Integer指定从哪个元素开始过滤,从0开始。
varFALSE/String如果有指定var对象,新的集合将被以var对象值命名,并放到PageContext中,可通过%{#attr.varname}获得该集合。
说明:省略奇葩属性performClearTagStateForTagPoolingServers

Subsite标签示例

Action代码

public class TestAction extends ActionSupport {

	private List<Integer> myList;

	public String execute() throws Exception {
		myList = new ArrayList();
		myList.add(1);
		myList.add(2);
		myList.add(3);
		myList.add(4);
		myList.add(5);
		return "done";
	}

	public List getMyList() {
		return myList;
	}

	public Decider getMyDecider() {
		return new Decider() {
			public boolean decide(Object element) throws Exception {
				int i = ((Integer) element).intValue();
				return (((i % 2) == 0) ? true : false);
			}
		};
		
	}
	
}

Subsite无属性示例

Subset没有应用任何参数,默认输出整个集合,这与不用Subset的效果一样。

<s:subset source="myList">
   <s:iterator>
      <s:property />
   </s:iterator>
</s:subset>

输出结果:
1 2 3 4 5

Subsite应用count属性示例

<s:subset source="myList" count="3">
   <s:iterator>
       <s:property />
   </s:iterator>
</s:subset>

输出结果:
1 2 3

Subsite应用start属性示例

<s:subset source="myList" count="100" start="3">
   <s:iterator>
     <s:property />
   </s:iterator>
</s:subset>

输出结果:
4 5 

Subsite应用var属性示例

<s:subset var="mySubset" source="myList"/>
<s:iterator value="#attr.mySubset">
     <s:property />
</s:iterator>

输出结果:
1 2 3 4 5

Subsite应用decider属性示例

<s:subset source="myList" decider="myDecider">
       <s:iterator>
            <s:property />
       </s:iterator>
</s:subset>

输出结果:
2 4

写一些自己的看法

网站优选

备案:陕ICP备17014144号-5

不良信息举报电话:029-85678878,商务合作短信留言:18291486809,邮箱:yte1@qq.com

『野天鹅』以分享生活智慧为中心,内容包括社保、档案、户籍、学业、商业、理财等,我们希望我们精心编排的内容能为您的日常生活提供真正有效的帮助。

『西安野天鹅网络技术有限公司』