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.SnipLink; 30 31 import javax.servlet.jsp.JspException ; 32 import javax.servlet.jsp.JspWriter ; 33 import javax.servlet.jsp.tagext.TagSupport ; 34 import java.io.IOException ; 35 36 public class ImageTag extends TagSupport { 37 private String ext = null; 38 private String name = null; 39 private String alt = null; 40 private String root = null; 41 42 public int doStartTag() throws JspException { 43 try { 44 name = (String ) ExpressionEvaluatorManager.evaluate("name", name, String .class, this, pageContext); 45 if (alt != null) { 46 alt = (String ) ExpressionEvaluatorManager.evaluate("alt", alt, String .class, this, pageContext); 47 } 48 if (ext != null) { 49 ext = (String ) ExpressionEvaluatorManager.evaluate("ext", ext, String .class, this, pageContext); 50 } 51 } catch (JspException e) { 52 Logger.warn("unable to evaluate expression", e); 53 } 54 55 JspWriter out = pageContext.getOut(); 56 try { 57 if(null == root) { 58 59 SnipLink.appendImage(out, name, alt, ext); 60 } else { 61 SnipLink.appendImageWithRoot(out, SnipLink.getSpaceRoot()+"/" + root, name, alt, ext, null); 62 } 63 } catch (IOException e) { 64 Logger.warn("ImageTag: error writing image tag for " + name); 65 } 66 return SKIP_BODY; 67 } 68 69 public void setExt(String ext) { 70 this.ext = ext; 71 } 72 73 public void setName(String name) { 74 this.name = name; 75 } 76 77 public void setAlt(String alt) { 78 this.alt = alt; 79 } 80 81 public void setRoot(String root) { 82 this.root = root; 83 } 84 } 85 | Popular Tags |