subset标签用于取得集合的子集,该标签的底层通过org.apache.Struts2.util.Subset.IteratorFilter类提供实现。使用subset标签可以指定如下几个属性:
count:可选属性,指定子集中元素的个数,默认取得源集合的所有元素
source:可选属性,指定源集合,如果不指定,默认取得valueStack栈顶的集合,一般都会指定
start:可选属性,指定从源集合的第几个元素开始截取,,默认从第一个元素(即start=0)开始
decider:可选属性,由开发者自己决定是否选中该元素
一般用法如下:
<%@ page contentType="text/html; charset=GBK" language="java"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>使用s:subset标签截取集合元素</title>
</head>
<body>
<table border="1" width="200">
<s:subset source="{'Java','Spring2.0','J2EE','Ajax','WebWork'}"
start="1" count="3">
<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>
上面的代码的source属性指定的集合包含了5个元素,通过subset从第2个元素开始截取,只取出其中3个元素。
此外,Struts2还允许开发者决定截取标准,开发者只需要实现一个Decider类,实现SubsetIteratorFilter.Decider接口中的boolean decide(Object element)方法,如果该方法返回真,则表明该元素将被选入子集中。看如下代码:
package lee;
import org.apache.struts2.util.SubsetIteratorFilter;
public class MyDecider implements SubsetIteratorFilter.Decider
{
public boolean decide(Object element) throws Exception
{
String str = (String)element;
return str.indexOf("J2EE") > 0;
}
}
这里要求过滤不包含“J2EE”的元素,JSP页面代码如下:
<%@ page contentType="text/html; charset=GBK" language="java"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>使用s:subset标签截取集合元素</title>
</head>
<body>
<s:bean id="mydecider" name="lee.MyDecider"/>
<table border="1" width="200">
<s:subset
source="{'Java','Spring2.0','J2EE','Ajax','WebWork'}"
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>
分享到:
相关推荐
struts2 OGNL之<s:property>标签访问值栈(value stack)用法,希望能对大家有帮助
第3章 章 Struts 2 的标签库 3.1 Struts 2 的OGNL 3.2 Struts 2 的标签库 ...<s:action name="action" executeResult="true"></s:action> <!--这句不会显示 --> <s:action name="action"></s:action> </body> </html>
将struts2的知识进行综合整理,以达到全面...四、<s:date>标签的作用是() A.创建一个当前系统时间数据的对象 B.将指定的Date对象按一定的字符串格式输出 C.显示指定Date对象的年月日信息 D.显示当前系统时间在页面上
赠送jar包:ognl-3.2.21.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
赠送jar包:ognl-3.1.12.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
5.3.7 subset标签使用介绍 86 5.4 Struts2数据标签简介 88 5.4.1 action标签使用介绍 88 5.4.2 bean标签使用介绍 89 5.4.3 date标签使用介绍 91 5.4.4 debug标签使用介绍 94 5.4.5 include标签使用介绍 95 5.4.6 ...
Struts2的一个关键特性就是它可以对Action携带的数据进行读写访问,例如在前面我们在表单中使用user.username指定数据传递给Action的user对象的username属性,在<s:property>元素中使用user.username来获取用户的...
<br>04 在Struts 2.0中国际化(i18n)您的应用程序<br>05 转换器(Converter)——Struts 2.0中的魔术师<br>06 在Struts 2.0中实现表单数据校验...Struts 2中的OGNL<br>12 trus 2的新表单标志的使用<br>13 Struts 2与AJAX
1. 导入的包<br><br>l ...<br><br>ognl-2.6.9.jar;<br><br>struts-core-2.0.6.jar;<br><br>xwork-2.0.0.jar.<br><br>l spring的核心包:spring.jar<br><br>l 二者集成开发所需的包:struts-spring-plugin-2.0.6.jar<br>
其它的运行符可以作用于数字和日期,但不能作用于字符串,大部分的时候,使用gt等字母运算符代替>会有更好的效果,因为 FreeMarker会把>解释成FTL标签的结束字符,当然,也可以使用括号来避免这种情况,如:<#if (x>y)> ...
<s:text name="validation.required" > 人心的功能,如将Action输出到FreeMaker模板、Velocity模板、JasperReports和使用XSL转换等。这些都过result里的type(类型)属性(Attribute)定义的。另外,您还可以自定义...
使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。
JS:ognl表达式 JS:ognl表达式 JS:ognl表达式
使用的ognl,正对是struts2 hibernate 等
使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。
该项目使用的jar包为以下.<br>spring-beans.jar <br>xwork-2.0.4.jar <br>spring-context.jar <br>ognl-2.6.11.jar <br>spring-web.jar <br>spring-core.jar <br>struts2-core-2.0.11.1.jar <br>commons-logging-...
通用电子商务购物平台 --------目的----------- 1.将前期学习技术熟练应用 2.了解项目开发流程,培养开发能力(编码能力、查错排错能力、自学新技术... <s:iterator value="list" var="l">对应与action里的getLIst方法。
<br><br>可选功能:<br>打印支持,生成打印控制界面,允许开发者设置页面的Head区域和Foot区域,允许用户选择纸张类型、可显示列。该功能需要第三方控件的支持。<br><br>分组聚合运算,指定表格根据哪些对象属性对...
struts2中siterator 标签的使用详解 及 OGNL用法 struts2中siterator 标签的使用详解 及 OGNL用法
常用<Action>标签配置和使用 7. 常用<result>标签配置和使用 8. <global-results>标签 9. Action类的开发 10. 数据类型转换器 11. 实现文件上传 12. Struts2的拦截器 13. 拒绝表单重复提交 四. OGNL...