1 18 package org.apache.beehive.netui.tags.databinding.xml; 19 20 import javax.servlet.jsp.JspException ; 21 22 import org.apache.beehive.netui.tags.AbstractClassicTag; 23 import org.apache.beehive.netui.util.internal.InternalStringBuilder; 24 import org.apache.beehive.netui.util.logging.Logger; 25 import org.apache.xmlbeans.XmlObject; 26 27 36 public class SerializeXML 37 extends AbstractClassicTag { 38 39 private static final Logger LOGGER = Logger.getInstance(SerializeXML.class); 40 41 private Object _source; 42 private String _divName; 43 44 48 public String getTagName() { 49 return "SerializeXML"; 50 } 51 52 62 public void setSource(Object source) { 63 _source = source; 64 } 65 66 74 public void setDivName(String divName) { 75 _divName = divName; 76 } 77 78 public int doStartTag() { 79 return SKIP_BODY; 80 } 81 82 public int doEndTag() 83 throws JspException { 84 85 if(_source instanceof XmlObject && _source != null) { 86 XmlObject xmlObject = (XmlObject)_source; 87 String xml = xmlObject.xmlText(); 88 89 InternalStringBuilder buf = new InternalStringBuilder(); 90 buf.append("<div"); 91 buf.append(" id=\""); 92 buf.append(_divName); 93 buf.append("\">\n<!--\n"); 94 buf.append(xml); 95 buf.append("\n-->\n</div>"); 96 97 write(buf.toString()); 98 } 99 else { 100 if(LOGGER.isInfoEnabled()) 102 LOGGER.info("The expression \"" + _source + "\" resulted in an object that was not an XMLBean"); 103 } 104 105 localRelease(); 106 107 return EVAL_PAGE; 108 } 109 110 public void localRelease() { 111 super.localRelease(); 112 113 _source = null; 114 _divName = null; 115 } 116 } 117 | Popular Tags |