1 25 package org.snipsnap.jsp; 26 27 import org.apache.taglibs.standard.lang.support.ExpressionEvaluatorManager; 28 import org.radeox.util.logging.Logger; 29 import org.snipsnap.snip.Snip; 30 import org.snipsnap.snip.SnipSpaceFactory; 31 32 import javax.servlet.jsp.JspException ; 33 import javax.servlet.jsp.tagext.TagSupport ; 34 import java.io.IOException ; 35 36 public class SnipTag extends TagSupport { 37 Snip snip = null; 38 39 public int doStartTag() throws JspException { 40 if (null != snip) { 41 try { 42 snip.appendTo(pageContext.getOut()); 43 } catch (IOException e) { 44 Logger.warn("SnipTag: unable to write snip xml content: " + snip); 45 } 46 } 47 return super.doStartTag(); 48 } 49 50 public void setSnip(String snip) { 51 try { 52 this.snip = (Snip) ExpressionEvaluatorManager.evaluate("snip", snip, Snip.class, this, pageContext); 53 } catch (JspException e) { 54 Logger.warn("unable to evaluate expression", e); 55 } 56 } 57 58 public void setName(String name) { 59 try { 60 String snipName = (String ) ExpressionEvaluatorManager.evaluate("name", name, String .class, this, pageContext); 61 if (SnipSpaceFactory.getInstance().exists(snipName)) { 62 snip = SnipSpaceFactory.getInstance().load(snipName); 63 } 64 } catch (JspException e) { 65 Logger.warn("unable to evaluate expression", e); 66 } 67 } 68 } 69 | Popular Tags |