================================================================= PowerTag.java ================================================================= /* * Created on 02.11.2004 * * TODO To change the template for this generated file go to * Window - Preferences - Java - Code Style - Code Templates */ package de.th.web; import javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; /** * @author thohened * * TODO To change the template for this generated type comment go to * Window - Preferences - Java - Code Style - Code Templates */ public class PowerTag implements IterationTag { PageContext pageContext; private int number; private int power; private int counter; private int result = 1; public void setNumber(int number) { this.number = number; } public void setPower(int power) { this.power = power; } public void setParent(Tag t) { } public void setPageContext(PageContext p) { pageContext = p; } public void release() { } public Tag getParent() { return null; } public int doStartTag() { return EVAL_BODY_INCLUDE; } public int doAfterBody() { System.out.println("doAfterBody()"); counter++; result *= number; if (counter == power) return SKIP_BODY; else return EVAL_BODY_AGAIN; } public int doEndTag() throws JspException { System.out.println("doEndTag()"); try { JspWriter out = pageContext.getOut(); out.println(number + "^" + power + " = " + result); } catch (Exception e) { } return EVAL_PAGE; } } ================================================================= powertagdemo.jsp ================================================================= <%@ taglib uri="/mytld" prefix="easy"%> Power Tag

Power Tag

================================================================= web.xml ================================================================= template /mytld /WEB-INF/mytld.tld ================================================================= mytld.tld ================================================================= 1.0 1.2 myPowerTag de.th.web.PowerTag number true power true