1 6 7 package org.roller.presentation.tags; 8 9 import org.apache.commons.logging.Log; 10 import org.apache.commons.logging.LogFactory; 11 12 import java.io.PrintWriter ; 13 import java.io.StringWriter ; 14 15 import javax.servlet.jsp.JspException ; 16 import javax.servlet.jsp.tagext.TagSupport ; 17 18 23 public abstract class HybridTag extends TagSupport 24 { 25 private static Log mLogger = 26 LogFactory.getFactory().getInstance(HybridTag.class); 27 28 public HybridTag() 29 { 30 } 31 32 public String toString() 33 { 34 String ret = null; 35 try 36 { 37 StringWriter sw = new StringWriter (); 38 doStartTag( new PrintWriter ( sw, true )); 39 doEndTag( new PrintWriter ( sw, true )); 41 ret = sw.toString(); 42 } 43 catch (Exception e) 44 { 45 ret = "Exception in tag"; 46 mLogger.error(ret,e); 47 } 48 return ret; 49 } 50 51 public String emit() 52 { 53 return toString(); 54 } 55 56 public int doStartTag() throws JspException 57 { 58 return doStartTag( new PrintWriter ( pageContext.getOut(), true) ); 59 } 60 61 62 public int doEndTag() throws JspException 63 { 64 return doEndTag( new PrintWriter ( pageContext.getOut(), true) ); 65 } 66 67 68 public int doStartTag( PrintWriter pw ) throws JspException 69 { 70 return SKIP_BODY; 71 } 72 73 74 public int doEndTag( PrintWriter pw ) throws JspException 75 { 76 return EVAL_PAGE; 77 } 78 79 } 80 | Popular Tags |