1 25 26 package net.killingar.forum.tags; 27 28 import net.killingar.forum.internal.managers.ForumManager; 29 import net.killingar.forum.internal.managers.OptionsManager; 30 31 import javax.servlet.jsp.JspException ; 32 import javax.servlet.jsp.JspTagException ; 33 import javax.servlet.jsp.tagext.BodyTagSupport ; 34 35 public class OptionTag extends BodyTagSupport 36 { 37 private String name = null, set = null; 38 39 public int doStartTag() throws JspException 40 { 41 try 42 { 43 ForumManager manager = (ForumManager)pageContext.getSession().getAttribute("manager"); 44 OptionsManager options = (OptionsManager)manager.getManager(OptionsManager.class.getName()); 45 if ( 46 (set == null || set.equalsIgnoreCase("yes") || set.equalsIgnoreCase("true")) && 47 options.get(name) != null) 48 return EVAL_BODY_TAG; 49 else if ( 50 set != null && (set.equalsIgnoreCase("no") || set.equalsIgnoreCase("false")) && 51 options.get(name) == null) 52 return EVAL_BODY_TAG; 53 54 return SKIP_BODY; 55 } 56 catch (Exception ex) 57 { 58 throw new JspTagException ("OptionTag exception: " + ex); 60 } 62 } 63 64 public void setName(String name) 65 { 66 this.name = name; 67 } 68 69 public void setSet(String set) 70 { 71 this.set = set; 72 } 73 74 public int doAfterBody() throws JspTagException 75 { 76 return SKIP_BODY; 77 } 78 79 public int doEndTag() throws JspTagException 80 { 81 try 82 { 83 if(bodyContent != null) 84 bodyContent.writeOut(bodyContent.getEnclosingWriter()); 85 86 bodyContent = null; 87 } 88 catch(java.io.IOException e) 89 { 90 throw new JspTagException ("IO Error: " + e.getMessage()); 91 } 92 return EVAL_PAGE; 93 } 94 } | Popular Tags |