1.s:subset标签概述
属性名 | 类型 | 说明 |
count | Integer | 获取原始集合中元素的个数 |
decider | org.apache.struts2.util.SubsetIteratorFilter.Decider | 过滤条件 |
source | String | 源集合数据 |
Start | Integer | 从哪个位置开始,以索引0开始 |
var | String | 新的集合存储在page上下文中的名称 |
2.创建JavaBean实例
package com.wl.control.Bean;
public class BBS {
private String title;
private String author;
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
3.创建Action实例
package com.wl.control.tagsAction;
import java.util.ArrayList;
import java.util.List;
import com.opensymphony.xwork2.ActionSupport;
import com.wl.control.Bean.BBS;
public class ShowSubSetList extends ActionSupport {
private List listBBS=new ArrayList();
public List getListBBS() {
return listBBS;
}
public void setListBBS(List listBBS) {
this.listBBS = listBBS;
}
@Override
public String execute() throws Exception {
BBS bbs1=new BBS();
bbs1.setAuthor("张三");
bbs1.setTitle("我是张三");
BBS bbs2=new BBS();
bbs2.setAuthor("李四");
bbs2.setTitle("我是李四");
BBS bbs3=new BBS();
bbs3.setAuthor("王五");
bbs3.setTitle("我是王五");
listBBS.add(bbs1);
listBBS.add(bbs2);
listBBS.add(bbs3);
return "showsubsetlist";
}
}
4.创建JSP文件
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<s:subset source="listBBS" var="newSubList" count="2" start="1">
<s:iterator value="#attr.newSubList" var="BBSBean">
<s:property value="#BBSBean.author"/>
</s:iterator>
</s:subset>
</body>
</html>
注释:
<s:subset source="listBBS" var="newSubList" count="2" start="1">
source:代表数据的来源;Start:代表从第几个元素开始截取;
count:代表截取几个元素;var:代表截取出来的集合名称。
由于
subset的var是放在page页面级的变量,所以要使用attr将page级中的newSubList取出在进行遍历:即<s:iterator value="#attr.newSubList" var="BBSBean">。
5.修改struts.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="Struts2.1" extends="struts-default">
<action name="showsubsetlist" class="com.wl.control.tagsAction.ShowSubSetList">
<result name="showsubsetlist">/controlTags/showsubsetlist.jsp</result>
</action>
</package>
</struts>
6.运行结果:

- 大小: 29.7 KB
分享到:
相关推荐
Struts2 标签库详解 Struts2 提供了一个强大的标签库,用于简化 Web 应用程序的开发过程。这些标签可以分为两类:通用标签和 UI 标签。下面,我们将详细介绍 Struts2 标签库的使用。 4.1 通用标签 通用标签用来...
在Struts2框架中,标签库是其一大特色,它提供了丰富的自定义标签,使得开发者能够更加便捷地创建动态页面。这些标签极大地简化了JSP页面的编写,提高了代码的可读性和可维护性。 1. **Struts2核心标签库**: - `s...
在Struts2中,自定义标签通常由Action类和结果页面共同完成,提供了一种声明式编程的方式,降低了视图与控制层的耦合度。 二、自定义标签的优点 1. 提高代码可读性:自定义标签将复杂的业务逻辑封装起来,使得HTML...
本篇文章将详细讲解如何使用Struts2的标签库,尤其是在页面上以列表的形式展示Action中集合对象的所有元素属性值。 首先,我们需要了解Struts2的核心概念:Action。Action是业务逻辑的载体,它处理请求,执行相应的...
在Struts2中,标签的调用时机是在JSP页面初始化时,它们会生成对应的HTML代码。为了更好地理解标签的工作方式,可以通过查看页面初始化后的源文件来观察生成的HTML。 Struts2的标签主要分为四大类: 1. **数据标签...
在Struts2中,标签库是其核心特性之一,它们为开发者提供了便利的方式来构建动态用户界面,无需深入HTML和JavaScript的底层细节。在本篇中,我们将深入探讨Struts2的标签应用及其在实际开发中的使用。 首先,了解...
本篇文章主要关注Struts2中的常用标签,这些标签大大简化了Web开发中的一些常见任务。 首先,我们要明白Struts2标签库与Struts1.x的不同之处。在Struts1.x中,标签库按照功能划分为HTML、Tiles、Logic和Bean等几个...
在Struts2中,这通常通过资源 bundle 文件实现,例如`messages.properties`和`messages_zh_CN.properties`,分别用于存储默认语言和中文语言的文本。在Action或者JSP页面中,可以通过`<s:text>`标签来引用这些资源,...
Struts标签是Apache Jakarta Struts框架中的一部分,用于简化Java Web应用程序开发中的视图层构建。Struts标签库提供了一组预定义的JSP标签,这些标签有助于开发者更有效地处理常见的Web开发任务,如表单处理、数据...
`s:iterator`标签是Struts2中最常用的遍历集合的标签。它的主要属性包括: - **value**:指定要遍历的集合,可以是数组、列表或Map类型的对象。 - **id**:为每个遍历元素设置一个临时变量名。 - **status**:提供...
此标签类似于Struts1中的JavaBean引用,但在Struts2中并不常用,因为Struts2更倾向于使用Action来处理业务逻辑。 C. `<s:checkbox>`, `<s:checkboxlist>`, `<s:combobox>`, `<s:component>`: 这些标签用于创建复选...
"Struts2教程3:struts.xml常用配置解析 .doc"深入解析了struts.xml文件中的关键配置元素,包括常用于处理异常的global-exception-mappings,全局结果类型global-results,以及自定义拦截器栈。 "Struts2.0新标签的...
本文将深入解析Struts2中的常用标签,这些标签在实际开发中非常实用,对于初学者理解并掌握Struts2的运行机制至关重要。 首先,我们需要了解Struts2标签库的主要组成部分,它们分为Action、Display、Logic、Field和...
Struts2标签库是Java Web开发中非常重要的一个组件,它是Apache Struts2框架的核心特性之一,极大地简化了视图层的开发工作。Struts2的标签库提供了一系列的JSP标签,使得开发者能够更方便地创建动态网页,提高代码...
在Struts2框架中,标签库是其重要组成部分,它提供了丰富的标签来帮助开发者更方便地构建用户界面。下面我们将深入探讨Struts2标签的使用及其API文档。 1. **Struts2标签的分类与功能** - **控制标签**:如`s:if`,...
在Struts2中,表单标签是用于处理用户输入和展示数据的关键组件,它们使得视图层的构建更加简洁和高效。本示例将深入探讨Struts2的表单标签使用方法,帮助开发者更好地理解和应用这些标签。 首先,我们来了解一些...
自定义标签是Struts2框架中的一个重要特性,它允许开发者创建自己的标签库,以更直观、易读的方式在JSP页面中处理业务逻辑。下面将详细介绍Struts2自定义标签的相关知识点。 首先,理解自定义标签的作用。在传统的...
Struts2标签库是Java Web开发中的一个强大工具,它为开发者提供了丰富的UI组件和控制逻辑,极大地简化了视图层的代码编写。Struts2框架的标签库基于OGNL(Object-Graph Navigation Language)表达式语言,使得在JSP...
在Struts2框架中,标签库是一系列预定义的JSP标签,它们提供了丰富的功能,如数据绑定、控制流、输入验证等,帮助开发者创建更加整洁、易于维护的代码。 Struts2标签库主要分为以下几个部分: 1. **核心标签(Core...