subset标签用于去得集合的子集,该标签的底层通过org.apache.struts2.util.Subset.IteratorFilter类提供实现.
使用subset标签可以指定的属性有:
- count: 可选属性,指定子集中元素的个数.在不指定该属性情况下,默认取得源集合的全部元素
- source: 可选属性,指定源集合.若不指定,默认取得ValueStack栈顶的集合.
-
start:可选属性,指定子集从源集合中的第几个元素开始截取.默认从第一个开始截取,默认值为0
- decider:可选属性,指定由开发者自己决定是否选中该元素.
SubsetTagAction.java
@Override
public String execute() throws Exception {
HttpServletRequest request = ServletActionContext.getRequest();
List list_value = new ArrayList();
list_value.add(new Integer(1));
list_value.add(new Integer(2));
list_value.add(new Integer(3));
list_value.add(new Integer(4));
list_value.add(new Integer(5));
Object element = list_value;
System.out.println(((List)element).size()+"ppp");
request.setAttribute("list_values", list_value);
return "subsetTag";
}
public Decider getMyDecider() {
return new Decider() {
public boolean decide(Object element) throws Exception {
int i = ((Integer)element).intValue();
return (((i % 2) == 0)?true:false);
}
};
}
subsetTag.jsp
<s:form>
<s:subset source=" #request.list_values" decider="myDecider">
<s:iterator>
<s:property/>
</s:iterator>
</s:subset>
</s:form>
http://localhost:8080/struts2/subsetTag.action
页面输出:2 4
<s:subset source="#request.list_values" start="1",count="3">
<s:iterator status="st">
</s:iterator>
</s:subset/>
http://localhost:8080/struts2/subsetTag.action
页面输出:2 3 4
分享到:
相关推荐
- `<s:head/>` 在HTML的`<head>`标签中使用,用于生成头部信息。 - `<s:hidden>` 创建一个隐藏字段,常用于存储不需用户可见但需要传递给服务器的数据。 I. `<s:i18n>`、`<s:include>`: - `<s:i18n>` 加载资源包到...
<%@ taglib prefix="s" uri="/struts-tags" %> 就能使用struts2.0的标签库 下面就介绍每个标签的具体应用实例说明:按字母排列 A: 1. 2. <s:a href=""></s:a>-----超链接,类似于html里的<a></a> 3. <s:...
而在 Struts2 中,所有的标签都被统一管理,并通过在 JSP 文件头部声明 `<%@ taglib prefix="s" uri="/struts-tags" %>` 来启用 Struts2 的标签库。这种方式简化了开发过程中的配置工作,使得开发者可以更加专注于...
本文将详细介绍Struts2中的常用标签及其用法,并通过具体的实例来帮助理解。 #### 二、Struts2标签库详解 ##### 1. `<s:a>` 超链接标签 - **用途**:创建一个超链接。 - **示例代码**: ```xml <s:a href="%{url...
`<s:generator>` 通常与其他标签配合使用,`<s:head>` 在HTML文档中表示头部结束,`<s:hidden>` 创建隐藏字段,其值不会在页面上显示。 H. `<s:i18n>, <s:include>, <s:inputtransferselect>`: `<s:i18n>` 用于加载...
`<s:subset>` - 子集标签 用于获取集合的子集。 ```jsp <s:subset value="list" start="0" end="10"> <s:property value="%{#status.index}"/>: #{item} </s:subset> ``` ##### 43. `<s:tabbedPanel>` - 选项卡...
`<s:subset>` - 子集标签 获取集合的子集。 ```xml <s:subset name="selectedItems" list="allItems"/> ``` #### 43. `<s:tabbedPanel>` - 选项卡面板 创建选项卡式面板。 ```xml <s:tabbedPanel id="tabs"> <s...
`<s:file>`标签用于文件上传功能,与Struts2的FileUpload拦截器配合使用。 `<s:form>`标签创建表单,它会将表单数据提交到指定的Action。 G. `<s:generator>`,`<s:iterator>`: `<s:generator>`常与`s:iterator`...
- **功能**:配合`<s:iterator>`标签使用,用于生成迭代器。 - **示例**: ```xml <s:generator separator="," val="item"> <s:iterator value="items"> <s:property value="#item" /> </s:iterator> </s:...
- **用途**:与<s:iterator>标签一起使用,用于数据生成。 - **示例**: ```xml <s:generator separator="," value="%{#list}" /> ``` 22. **<s:head> 头部标签** - **用途**:在<head>标签内使用。 - **...
在`<s:select>`标签中使用,用于分组选项,提高可读性。 #### `<s:optiontransferselect>` 标签 用于实现选项列表的双向选择,常见于权限分配或用户角色管理界面。 #### `<s:param>` 标签 为页面请求参数提供...
此外,Struts2还提供了一些其他标签,如表单标签(`<s:form>`)、错误处理标签(`<s:fielderror>`、`<s:errors>`)、国际化标签(`<s:text>`和`s:resourcebundle>`)等,它们帮助开发者轻松处理表单验证、错误提示和...
1. `<s:head>`:在HTML的`<head>`标签中使用,结束头部定义。 2. `<s:hidden>`:创建隐藏字段,用于存储非显示的数据。 I. 国际化和包含: 1. `<s:i18n>`:加载资源包到值栈,支持多语言应用。 2. `<s:include>`:...
`<s:form>` 标签用于创建表单,可以指定Action、Method等属性,是Struts2中最常用的标签之一。 ```xml <s:form action="saveData"> <!-- 表单内容 --> </s:form> ``` ### 17. `<s:generator>` 标签 `<s:...
姓名:<s:property value="user.userName"/> 年龄:<s:property value="user.age"/> </s:iterator> ``` 上面的例子会遍历`userList`集合,并输出每个用户的姓名和年龄。 ##### 3)组合标签 组合标签用于将多...
虽然 Struts 2 不再推荐使用 Struts 1.x 的标签,但在某些情况下仍然可能见到 `<s:bean>` 标签。此标签用于访问 JavaBean 的属性值。例如:`<s:bean name="user" property="firstName"/>`,这里的 `name` 指定了 ...
`<s:if>`, `<s:elseif>`, `<s:else>`:这些标签用于条件判断,与Java中的if-else语句类似。`test`属性用于指定判断条件。 F. `<s:fielderror>`:显示字段级别的错误信息,这些错误通常是验证失败时产生的。 G. `...
- **用途**:相当于 Struts1.x 中的 `<bean>` 标签,用于创建 JavaBean 实例。 - **示例**: ```xml <s:bean name="myBean" id="beanInstance" class="com.example.MyBean"/> ``` ##### 8. `<s:checkbox>` 标签 ...