带标签体的自定义标签
来源:互联网 发布:数据挖掘工程师面试题 编辑:程序博客网 时间:2024/05/16 12:59
标签处理类
以迭代器为例
package com.chinaebi.test;import java.io.IOException;import java.util.Collection;import javax.servlet.jsp.JspException;import javax.servlet.jsp.tagext.SimpleTagSupport;/** * 带标签体的标签 * @author Administrator * */public class IteratorTag extends SimpleTagSupport{ //标签属性 private String collection; private String item; public String getCollection() { return collection; } public void setCollection(String collection) { this.collection = collection; } public String getItem() { return item; } public void setItem(String item) { this.item = item; } @Override public void doTag() throws JspException, IOException { //从page scope中获取属性名为collection的集合 Collection itemList=(Collection) getJspContext().getAttribute(collection); //遍历集合 for (Object object : itemList) { //将集合的元素设置到page范围 getJspContext().setAttribute(item,object); //输出标签体 getJspBody().invoke(null); } }}
.tld配置,斜体部分为该标签的配置,在页面需引入uri与配置相同的标签uri,如<%@taglib uri="http://www.chinaebi.org/myTaglib" prefix="myTag" %>
<?xml version="1.0" encoding="UTF-8" ?><taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" version="2.0"> <description>A tag library exercising SimpleTag handlers.</description> <tlib-version>1.0</tlib-version> <short-name>myTaglib</short-name> <uri>http://www.chinaebi.org/myTaglib</uri> <tag> <description>Outputs Hello, World</description> <name>helloWorld</name> <tag-class>com.chinaebi.test.HelloWordTag</tag-class> <body-content>empty</body-content> </tag> <tag> <name>query</name> <tag-class>com.chinaebi.test.QueryTag</tag-class> <body-content>empty</body-content> <attribute> <name>driver</name> <required>true</required> <fragment>true</fragment> </attribute> <attribute> <name>url</name> <required>true</required> <fragment>true</fragment> </attribute> <attribute> <name>user</name> <required>true</required> <fragment>true</fragment> </attribute> <attribute> <name>sql</name> <required>true</required> <fragment>true</fragment> </attribute> </tag> *<tag> <name>iterator</name> <tag-class>com.chinaebi.test.IteratorTag</tag-class> <body-content>scriptless</body-content> <attribute> <name>collection</name> <required>true</required> <fragment>true</fragment> </attribute> <attribute> <name>item</name> <required>true</required> <fragment>true</fragment> </attribute> </tag>*
页面的引用
<% List list= new ArrayList(); list.add("java"); list.add("c++"); list.add("php"); pageContext.setAttribute("list",list); %> <table border="1" cellpadding="0" cellspacing="0"> <myTag:iterator item="item" collection="list"> <tr> <td>${item}</td> </tr> </myTag:iterator> </table>
0 0
- 带标签体的自定义标签
- 带标签体的自定义标签
- JSP自定义标签(3):带标签体(body)的标签
- JSP自定义标签:带标签体(body)的标签
- 自定义标签(3)带标签体的标签
- 利用BodyTagSupport创建带标签体的自定义标签
- java 带父标签的自定义标签
- 带父标签的自定义标签
- JSP自定义标签(带标签体的标签,迭代器标签)
- 自定义标签(带标签体)
- 带属性的自定义标签
- 带属性的自定义标签
- 带属性的自定义标签
- JSP的自定义标签(三)之带标签体的标签
- JSP2自定义标签(三)——带标签体的标签
- JSP自定义标签开发(四)——带标签体的标签实现
- JSP自定义标签(2):带属性的自定义标签
- 自定义标签之带属性的自定义标签
- 【tcp-ip学习笔记】关于IP协议层、IP地址
- WPF圆角透明无边框窗体
- An Introduction to Interactive Programming in Python (Part 2) -- week 8
- Android中View not attached to window manager错误,android.view.WindowLeaked的解决方案
- Android图片下载缓存库picasso解析
- 带标签体的自定义标签
- 音频信号处理资料收集
- Activity中ConfigChanges属性的用法
- 友盟Umeng之分析统计
- 欢迎使用CSDN-markdown编辑器
- mac 安装SourceInsight
- 将html文件转换成pdf
- centos yum的使用
- 实现浏览器截图粘贴功能