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 MBeanServerTag 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 ILocatorTag)) 39 o = ((Tag)o).getParent(); 40 41 Tag parent = (Tag)o; 42 43 BufferedReader in = new BufferedReader(getBodyContent().getReader()); 45 StringBuffer sb = new StringBuffer (); 46 47 try 48 { 49 String line = in.readLine(); 50 while(line != null) 51 { 52 sb.append(line); 53 line = in.readLine(); 54 } 55 if(Boolean.getBoolean(DEBUG_PROP)) pageContext.getServletContext().log("mbean tag body content: " +sb.toString()); 56 getBodyContent().clear(); 57 58 if(parent != null) 59 ((ILocatorTag)parent).setLocator(sb.toString()); 60 else 61 writeHiddenTag(sb); 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_SERVER); 73 sb.insert(0, "<INPUT TYPE=HIDDEN NAME=\""); 74 sb.append("\">\n"); 75 76 pageContext.getOut().write(sb.toString()); 78 } 79 } 80 | Popular Tags |