| 1 13 package com.tonbeller.wcf.statusline; 14 15 import java.io.IOException ; 16 17 import javax.servlet.jsp.JspException ; 18 import javax.servlet.jsp.tagext.Tag ; 19 import javax.servlet.jsp.tagext.TagSupport ; 20 21 import org.apache.log4j.Logger; 22 23 27 public class StatusLineTag extends TagSupport { 28 static final String HTML = "html"; 29 static final String TEXT = "text"; 30 private static Logger logger = Logger.getLogger(StatusLineTag.class); 31 String format = "html"; 32 boolean clear = true; 33 34 public int doStartTag() throws JspException { 35 try { 36 StatusLine sl = StatusLine.instance(pageContext.getSession()); 37 if (sl.isEmpty()) 38 return Tag.EVAL_BODY_INCLUDE; 39 if (HTML.equals(format)) 40 pageContext.getOut().print(sl.getStatusHTML()); 41 else if (TEXT.equals(format)) 42 pageContext.getOut().print(sl.getStatusText()); 43 else 44 throw new JspException ("unknown format: " + format + " (expected \"html\" or \"text\")"); 45 if (clear) 46 sl.clear(); 47 return Tag.SKIP_BODY; 48 } catch (IOException e) { 49 logger.error(null, e); 50 return Tag.SKIP_BODY; 51 } 52 } 53 54 public void setClear(boolean clear) { 55 this.clear = clear; 56 } 57 58 public void setFormat(String format) { 59 this.format = format; 60 } 61 } | Popular Tags |