`

ognl <s:subset>标签用法

 
阅读更多

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之&lt;s:property&gt;标签访问值栈(value stack)用法

    struts2 OGNL之&lt;s:property&gt;标签访问值栈(value stack)用法,希望能对大家有帮助

    struts标签库

    第3章 章 Struts 2 的标签库 3.1 Struts 2 的OGNL 3.2 Struts 2 的标签库 ...&lt;s:action name="action" executeResult="true"&gt;&lt;/s:action&gt; &lt;!--这句不会显示 --&gt; &lt;s:action name="action"&gt;&lt;/s:action&gt; &lt;/body&gt; &lt;/html&gt;

    struts2综合复习习题

    将struts2的知识进行综合整理,以达到全面...四、&lt;s:date&gt;标签的作用是() A.创建一个当前系统时间数据的对象 B.将指定的Date对象按一定的字符串格式输出 C.显示指定Date对象的年月日信息 D.显示当前系统时间在页面上

    ognl-3.2.21-API文档-中文版.zip

    赠送jar包:ognl-3.2.21.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    ognl-3.1.12-API文档-中文版.zip

    赠送jar包:ognl-3.1.12.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    struts2讲义_吴峻申

    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中的OGNL.ppt

    Struts2的一个关键特性就是它可以对Action携带的数据进行读写访问,例如在前面我们在表单中使用user.username指定数据传递给Action的user对象的username属性,在&lt;s:property&gt;元素中使用user.username来获取用户的...

    struts2.0中文教程

    &lt;br&gt;04 在Struts 2.0中国际化(i18n)您的应用程序&lt;br&gt;05 转换器(Converter)——Struts 2.0中的魔术师&lt;br&gt;06 在Struts 2.0中实现表单数据校验...Struts 2中的OGNL&lt;br&gt;12 trus 2的新表单标志的使用&lt;br&gt;13 Struts 2与AJAX

    struts2整合spring2的配置

    1. 导入的包&lt;br&gt;&lt;br&gt;l ...&lt;br&gt;&lt;br&gt;ognl-2.6.9.jar;&lt;br&gt;&lt;br&gt;struts-core-2.0.6.jar;&lt;br&gt;&lt;br&gt;xwork-2.0.0.jar.&lt;br&gt;&lt;br&gt;l spring的核心包:spring.jar&lt;br&gt;&lt;br&gt;l 二者集成开发所需的包:struts-spring-plugin-2.0.6.jar&lt;br&gt;

    freemarker总结

    其它的运行符可以作用于数字和日期,但不能作用于字符串,大部分的时候,使用gt等字母运算符代替&gt;会有更好的效果,因为 FreeMarker会把&gt;解释成FTL标签的结束字符,当然,也可以使用括号来避免这种情况,如:&lt;#if (x&gt;y)&gt; ...

    Struts2 国际化字符串 拦截器

    &lt;s:text name="validation.required" &gt; 人心的功能,如将Action输出到FreeMaker模板、Velocity模板、JasperReports和使用XSL转换等。这些都过result里的type(类型)属性(Attribute)定义的。另外,您还可以自定义...

    ognl-3.2.21-API文档-中英对照版.zip

    使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。

    JS:ognl表达式

    JS:ognl表达式 JS:ognl表达式 JS:ognl表达式

    使用的ognl的chm

    使用的ognl,正对是struts2 hibernate 等

    ognl-3.1.12-API文档-中英对照版.zip

    使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。

    (2.0版本)自己写的struts2+hibernate+spring实例

    该项目使用的jar包为以下.&lt;br&gt;spring-beans.jar &lt;br&gt;xwork-2.0.4.jar &lt;br&gt;spring-context.jar &lt;br&gt;ognl-2.6.11.jar &lt;br&gt;spring-web.jar &lt;br&gt;spring-core.jar &lt;br&gt;struts2-core-2.0.11.1.jar &lt;br&gt;commons-logging-...

    dangdang和smartstruts2.rar

    通用电子商务购物平台 --------目的----------- 1.将前期学习技术熟练应用 2.了解项目开发流程,培养开发能力(编码能力、查错排错能力、自学新技术... &lt;s:iterator value="list" var="l"&gt;对应与action里的getLIst方法。

    一个不错的javaScirpt例子

    &lt;br&gt;&lt;br&gt;可选功能:&lt;br&gt;打印支持,生成打印控制界面,允许开发者设置页面的Head区域和Foot区域,允许用户选择纸张类型、可显示列。该功能需要第三方控件的支持。&lt;br&gt;&lt;br&gt;分组聚合运算,指定表格根据哪些对象属性对...

    struts2中siterator 标签的使用详解 及 OGNL用法

    struts2中siterator 标签的使用详解 及 OGNL用法 struts2中siterator 标签的使用详解 及 OGNL用法

    Struts2详解,Struts2与Struts1的区别

    常用&lt;Action&gt;标签配置和使用 7. 常用&lt;result&gt;标签配置和使用 8. &lt;global-results&gt;标签 9. Action类的开发 10. 数据类型转换器 11. 实现文件上传 12. Struts2的拦截器 13. 拒绝表单重复提交 四. OGNL...

Global site tag (gtag.js) - Google Analytics