1 package fr.improve.struts.taglib.layout; 2 3 import javax.servlet.jsp.JspException ; 4 import javax.servlet.jsp.PageContext ; 5 import javax.servlet.jsp.tagext.BodyTagSupport ; 6 7 import fr.improve.struts.taglib.layout.util.ParentFinder; 8 9 16 public class BodyLayoutTagSupport extends BodyTagSupport implements LayoutTag { 17 18 21 public final PageContext getPageContext() { 22 return pageContext; 23 } 24 25 33 public final int doStartTag() throws JspException { 34 registerTag(); 35 initDynamicValues(); 36 return doStartLayoutTag(); 37 } 38 39 48 public final int doEndTag() throws JspException { 49 try { 50 return doEndLayoutTag(); 51 } finally { 52 reset(); 53 deregisterTag(); 54 } 55 } 56 57 public int doStartLayoutTag() throws JspException { 58 return super.doStartTag(); 59 } 60 public int doEndLayoutTag() throws JspException { 61 return super.doEndTag(); 62 } 63 64 protected void initDynamicValues() throws JspException { 65 } 67 68 protected void reset() { 69 } 71 72 76 protected void registerTag() throws JspException { 77 ParentFinder.registerTag(pageContext, this); 78 } 79 80 84 protected void deregisterTag() throws JspException { 85 ParentFinder.deregisterTag(pageContext); 86 } 87 88 } 89 | Popular Tags |