zoukankan      html  css  js  c++  java
  • Jsp Tag

    package tags;
    
    import java.util.Collection;
    import java.util.Iterator;
    
    import javax.servlet.jsp.JspException;
    import javax.servlet.jsp.tagext.TagSupport;
    
    public class IteratorTag extends TagSupport {
    
    	private String var;
    	private Collection items;
    	private Iterator iter;
    	
    	public String getVar() {
    		return var;
    	}
    
    	public void setVar(String var) {
    		this.var = var;
    	}
    
    	public Collection getItems() {
    		return items;
    	}
    
    	public void setItems(Collection items) {
    		this.items = items;
    	}
    
    	@Override
    	public int doStartTag() throws JspException {
    		iter=items.iterator();
    		if(iter.hasNext()){
    			this.pageContext.setAttribute(var, iter.next());
    			return this.EVAL_BODY_INCLUDE;
    		}
    		return this.SKIP_BODY;
    	}
    
    	@Override
    	public int doAfterBody() throws JspException {
    		if(iter.hasNext()){
    			this.pageContext.setAttribute(var, iter.next());
    			return this.EVAL_BODY_AGAIN;
    		}
    		return this.SKIP_BODY;
    	}
    }
    
    

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
                            "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
    <taglib>
    	<tlib-version>1.0</tlib-version>
    	<jsp-version>1.2</jsp-version>
    	<short-name>custom_dt</short-name>
    	<uri>/myCustomTags</uri>
    	<display-name>我的自定义</display-name>
    	<description>这是我的自定义标签,用于测试</description>
    
    	<tag>
    		<name>MyIteratorTag</name>
    		<tag-class>tags.IteratorTag</tag-class>
    		<body-content>JSP</body-content>
    		<display-name>测试的</display-name>
    		<description>自定义的迭代标签</description>
    		<attribute>
    			<name>var</name>
    			<required>true</required>
    			<rtexprvalue>false</rtexprvalue>
    			<description>变量名</description>
    		</attribute>
    		<attribute>
    			<name>items</name>
    			<required>true</required>
    			<rtexprvalue>true</rtexprvalue>
    			<description>用于iterate的集合</description>
    		</attribute>
    	</tag>
    </taglib>
    
    

  • 相关阅读:
    LeetCode-Search a 2D Matrix
    Cocos2d-x 学习(1)—— 通过Cocos Studio创建第一个Demo
    SpringMVC经典系列-12基于SpringMVC的文件上传---【LinusZhu】
    poj 2126 Factoring a Polynomial 数学多项式分解
    [每天读书半小时] 2015-6-8 设计模式
    LeetCode_Path Sum II
    MySql截取DateTime字段的日期值
    Fiddler2 中文手册
    fiddler2抓包工具使用图文教程
    Fiddler2 抓取手机APP数据包
  • 原文地址:https://www.cnblogs.com/wucg/p/1876615.html
Copyright © 2011-2022 走看看