1 package com.blandware.atleap.webapp.taglib.core.menu.context; 2 3 import javax.servlet.jsp.JspException ; 4 import javax.servlet.jsp.JspTagException ; 5 import javax.servlet.jsp.tagext.JspFragment ; 6 import javax.servlet.jsp.tagext.SimpleTagSupport ; 7 import java.io.IOException ; 8 import java.io.StringWriter ; 9 10 24 public class ItemPartSupport extends SimpleTagSupport implements ItemPart { 25 26 29 protected int renderingFlag = FLAG_RENDER_TO_PAGE; 30 31 35 protected boolean enabled = false; 36 37 40 public ItemPartSupport() { 41 } 42 43 46 public int getRenderingFlag() { 47 return renderingFlag; 48 } 49 50 56 public void doTag() throws JspException , IOException { 57 58 ItemTag parentItemTag = (ItemTag) findAncestorWithClass(this, ItemTag.class); 60 if ( parentItemTag == null ) { 61 throw new JspTagException ("This tag is only valid when nested within 'item' tag"); 62 } 63 64 if ( parentItemTag.getEnabled().booleanValue() == enabled ) { 65 JspFragment body = getJspBody(); 66 if ( body != null ) { 67 if ( parentItemTag.getIncludeInContextMenu().booleanValue() ) { 68 renderingFlag = FLAG_RENDER_TO_MENU; 69 StringWriter sw = new StringWriter (); 70 body.invoke(sw); 71 parentItemTag.getItem().setContent(sw.toString().trim()); 72 } 73 74 if ( parentItemTag.getIncludeInPage().booleanValue() ) { 75 renderingFlag = FLAG_RENDER_TO_PAGE; 76 body.invoke(null); 77 } 78 } 79 } 80 } 81 } 82 | Popular Tags |