1 64 65 package com.jcorporate.expresso.ext.taglib; 66 67 import com.jcorporate.expresso.core.controller.ControllerResponse; 68 69 import javax.servlet.jsp.JspException ; 70 import javax.servlet.jsp.PageContext ; 71 import javax.servlet.jsp.tagext.BodyTagSupport ; 72 import javax.servlet.jsp.tagext.Tag ; 73 import javax.servlet.jsp.tagext.TagSupport ; 74 75 76 79 public abstract class ExpressoBodyTagSupport 80 extends BodyTagSupport { 81 protected ControllerResponse ctlrResp = null; 82 protected java.lang.String response = null; 83 84 public ExpressoBodyTagSupport() { 85 super(); 86 } 87 88 protected TagSupport getAncestor(String className) 89 throws JspException { 90 Class klass = null; 91 92 try { 93 klass = Class.forName(className); 94 } catch (ClassNotFoundException ex) { 95 throw new JspException (ex.getMessage()); 96 } 97 98 return (TagSupport ) findAncestorWithClass(this, klass); 99 } 100 101 protected Tag getContainer() 102 throws JspException { 103 Tag parent = this; 104 105 while ((parent = parent.getParent()) != null) { 106 if ((parent instanceof BlockTag) || 107 (parent instanceof ElementIterator) || 108 (parent instanceof OutputTag)) { 109 return parent; 110 } 111 } 112 113 return null; 114 } 115 116 protected void getControllerResponse() { 117 if (response == null || "".equals(response)) { 118 response = "controllerResponse"; 119 } 120 121 ctlrResp = (ControllerResponse) pageContext.getAttribute(response, 122 PageContext.REQUEST_SCOPE); 123 } 124 125 public java.lang.String getResponse() { 126 return response; 127 } 128 129 public void setResponse(java.lang.String newResponse) { 130 response = newResponse; 131 } 132 } 133 134 | Popular Tags |