1 8 13 14 package org.webjmx.tags; 15 16 import java.io.*; 17 import java.util.*; 18 import javax.servlet.jsp.*; 19 import javax.servlet.jsp.tagext.*; 20 21 27 public class MBeanTag extends BodyTagSupport 28 implements JMXTaglibConstants 29 { 30 33 public int doEndTag() 34 throws JspException 35 { 36 Object o = getParent(); 38 while(o != null && !(o instanceof FormMBeanTag)) 39 o = ((Tag)o).getParent(); 40 Tag parent = (Tag)o; 41 42 BufferedReader in = new BufferedReader(getBodyContent().getReader()); 44 StringBuffer sb = new StringBuffer (); 45 46 try 47 { 48 String line = in.readLine(); 49 while(line != null) 50 { 51 sb.append(line); 52 line = in.readLine(); 53 } 54 if(Boolean.getBoolean(DEBUG_PROP)) pageContext.getServletContext().log("mbean tag body content: " +sb.toString()); 55 getBodyContent().clear(); 56 57 if(parent != null) 58 ((FormMBeanTag)parent).setMbean(sb.toString()); 59 else 60 writeHiddenTag(sb); 61 62 }catch(IOException ex) { ex.printStackTrace(); } 63 64 return (EVAL_BODY_INCLUDE); 65 } 66 67 void writeHiddenTag(StringBuffer sb) 68 throws IOException 69 { 70 sb.insert(0, "\" VALUE=\""); 72 sb.insert(0, TAGLIB_NAME); 73 sb.insert(0, "<INPUT TYPE=HIDDEN NAME=\""); 74 sb.append("\">\n"); 75 76 pageContext.getOut().write(sb.toString()); 78 } 79 } 80 | Popular Tags |