标签处理器类(自定义标签)ForEach

该处理器的 父类  javax.servlet.jsp.tagext.SimpleTagSupport

public class ForEach extends SimpleTagSupport {
private Collection<?> items;
public void setItems(Collection<?> items) {
this.items = items;
}
private String var;
public void setVar(String var) {
this.var = var;
}
@Override
public void doTag() throws JspException, IOException {
//遍历items集合
if(items!=null){
for(Object obj:items){
//*把正在遍历的对象放入PageContext中 键,var 值,正在遍历的对象
getJspContext().setAttribute(var, obj);
//直接输出到页面上
getJspBody().invoke(null);
}
}
}

}

jsp页面里面模拟数据

<%
List<TestTag> tg = new ArrayList<TestTag>();
tg.add(new TestTag(1, "AAA"));
tg.add(new TestTag(2, "BBB"));
tg.add(new TestTag(3, "CCC"));
tg.add(new TestTag(4, "DDD"));
request.setAttribute("tg", tg);
%>

<!-- 使用标签库foreach -->
<c:forEach items="${requestScope.tg }" var="abc">
${abc.id}--${abc.name}<br>
</c:forEach>

<!-- 使用自定义标签foreach -->
<wlc:ForEachTag items="${requestScope.tg }" var="abc">
${abc.id}--${abc.name}<br>
</wlc:ForEachTag>

tld文件声明

<tag>
<name>ForEachTag</name>
<tag-class>cn.stud.wlc.tag.ForEach</tag-class>
<body-content>scriptless</body-content>
<attribute>
<name>items</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>var</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
时间: 2024-11-02 19:50:50

标签处理器类(自定义标签)ForEach的相关文章

学会怎样使用Jsp 内置标签、jstl标签库及自定义标签

学习jsp不得不学习jsp标签,一般来说,对于一个jsp开发者,可以理解为jsp页面中出现的java代码越少,对jsp的掌握就越好,而替换掉java代码的重要方式就是使用jsp标签. jsp标签的分类: 1)内置标签(动作标签): 不需要在jsp页面导入标签 2)jstl标签: 需要在jsp页面中导入标签 3)自定义标签 : 开发者自行定义,需要在jsp页面导入标签 1.内置标签(动作标签): <jsp:forward />转发标签: 语法:<jsp:forward page="

JSTL标签库,自定义标签

JSTL jstl的概述 apache的东西,依赖EL 使用jstl需要导入jstl1.2.jar 四大标签库: core:核心库,重点 fmt:格式化:日期.数字 sql:过时 xml:过时 导入标签库 jar包 在jsp页面中:<%@taglib prefix="前缀" uri="路径"%> core –> c标签! out和set remove url if choose foreach out和set :输出 value:可以是字符串常量,

jsp的标签库和自定义标签

1.jstl标签库 JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签. 除了这些,它还提供了一个框架来使用集成JSTL的自定义标签. 根据JSTL标签所提供的功能,可以将其分为5个类别. 核心标签 格式化标签 SQL 标签(过时) XML 标签(过时) JSTL 函数 1.1使用taglib指令导入标签库 ,除了JSP动作标签外,使用其他第三方的标签库都需要:  <%

[原创]java WEB学习笔记42:带标签体的自定义标签

本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 ---------------------------------

自定义标签

1 如果在jsp页面中写java代码 是很不合适的 而且坏处很多像这样: <%@page import="java.util.ArrayList"%><%@page import="java.util.List"%><%@page import="com.atguigu.javaweb.Customer"%><%@ page language="java" contentType=&q

javaEE(6)_自定义标签&amp;JSTL标签(JSP Standard Tag Library)

一.自定义标签简介 1.自定义标签主要用于移除Jsp页面中的java代码,jsp禁止出现一行java脚本. 2.使用自定义标签移除jsp页面中的java代码,只需要完成以下两个步骤: •编写一个实现Tag接口的Java类(标签处理器类). •编写标签库描述符(tld)文件,在tld文件中对标签处理器类进行描述. 3.快速入门:使用标签输出客户机IP //java类 public class ViewPortTag extends TagSupport{ @Override public int

自定义标签开发

一.概述 JSP中的标签库技术可以让我们定制自己的标签,自定义标签实际上是一个实现了特定接口的Java类,封装了一些常用的功能,运行时标签被相应的代码所代替.本文将对自定义标签的开发进行简单的介绍和总结. 二.标签库 开发自定义标签库,核心就是要编写标签处理器类,所有的标签处理器类都要实现JspTag接口.标签又分传统标签和简单标签.下图为标签库中主要的接口及类的继承实现关系. 使用标签大致可以实现以下四种基本功能: 控制页面内容(标签体)是否输出 用标签控制整个jsp是否输出 控制标签体重复执

java_自定义标签,我的第一个自定义标签!

自定义标签,我的第一个自定义标签! 总共分两步 编写一个实现tag接口的java类,把jsp页面中的java代码移到这个类中,(标签处理器类) 编写标签库描述符(tld)文件,在tld文件中把标签处理器类描述成一个标签 一.案例, 输出客户端IP ViewIP.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%&g

【自定义标签开发】09-标签案例-开发foreach标签

我们接下来开发一个迭代集合的标签.我们知道struts中有一个<s:iterator>标签用来迭代集合,我们接下来模仿它写一个自定义标签. 前台的效果如下: <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@taglib uri="/example" prefix="z" %>