List of usage examples for javax.servlet.jsp.tagext TagInfo BODY_CONTENT_JSP
String BODY_CONTENT_JSP
To view the source code for javax.servlet.jsp.tagext TagInfo BODY_CONTENT_JSP.
Click Source Link
From source file:org.tinygroup.jspengine.compiler.TagLibraryInfoImpl.java
private TagInfo createTagInfo(TreeNode elem, String jspVersion) throws JasperException { String tagName = null;// w ww.jav a 2 s . c om String tagClassName = null; String teiClassName = null; /* * Default body content for JSP 1.2 tag handlers (<body-content> has * become mandatory in JSP 2.0, because the default would be invalid * for simple tag handlers) */ String bodycontent = "JSP"; String info = null; String displayName = null; String smallIcon = null; String largeIcon = null; boolean dynamicAttributes = false; Vector attributeVector = new Vector(); Vector variableVector = new Vector(); Iterator list = elem.findChildren(); while (list.hasNext()) { TreeNode element = (TreeNode) list.next(); String tname = element.getName(); if ("name".equals(tname)) { tagName = element.getBody(); } else if ("tagclass".equals(tname) || "tag-class".equals(tname)) { tagClassName = element.getBody(); } else if ("teiclass".equals(tname) || "tei-class".equals(tname)) { teiClassName = element.getBody(); } else if ("bodycontent".equals(tname) || "body-content".equals(tname)) { bodycontent = element.getBody(); } else if ("display-name".equals(tname)) { displayName = element.getBody(); } else if ("small-icon".equals(tname)) { smallIcon = element.getBody(); } else if ("large-icon".equals(tname)) { largeIcon = element.getBody(); } else if ("icon".equals(tname)) { TreeNode icon = element.findChild("small-icon"); if (icon != null) { smallIcon = icon.getBody(); } icon = element.findChild("large-icon"); if (icon != null) { largeIcon = icon.getBody(); } } else if ("info".equals(tname) || "description".equals(tname)) { info = element.getBody(); } else if ("variable".equals(tname)) { variableVector.addElement(createVariable(element)); } else if ("attribute".equals(tname)) { attributeVector.addElement(createAttribute(element, jspVersion)); } else if ("dynamic-attributes".equals(tname)) { dynamicAttributes = JspUtil.booleanValue(element.getBody()); } else if ("example".equals(tname)) { // Ignored elements } else if ("tag-extension".equals(tname)) { // Ignored } else { err.jspError("jsp.error.unknown.element.in.tag", tname); } } // JSP 2.0 removed the capital versions of TAGDEPENDENT, EMPTY, and // SCRIPTLESS enumerations in body-contentType, see JSP.E.2 ("Changes // between JSP 2.0 PFD2 and JSP 2.0 PFD3"), section "Changes to Tag // Library Descriptor (TLD)". Enforce that from JSP 2.0 and up, only // "JSP", "tagdependent", "empty", and "scriptless" may be specified // as body-content values. Double jspVersionDouble = Double.valueOf(jspversion); if (Double.compare(jspVersionDouble, Constants.JSP_VERSION_2_0) >= 0) { if (!bodycontent.equals(TagInfo.BODY_CONTENT_JSP) && !bodycontent.equals(TagInfo.BODY_CONTENT_EMPTY) && !bodycontent.equals(TagInfo.BODY_CONTENT_TAG_DEPENDENT) && !bodycontent.equals(TagInfo.BODY_CONTENT_SCRIPTLESS)) { err.jspError("jsp.error.tld.badbodycontent", bodycontent, tagName); } } TagExtraInfo tei = null; if (teiClassName != null && !teiClassName.equals("")) { try { Class teiClass = ctxt.getClassLoader().loadClass(teiClassName); tei = (TagExtraInfo) teiClass.newInstance(); } catch (Exception e) { err.jspError("jsp.error.teiclass.instantiation", teiClassName, e); } } TagAttributeInfo[] tagAttributeInfo = new TagAttributeInfo[attributeVector.size()]; attributeVector.copyInto(tagAttributeInfo); TagVariableInfo[] tagVariableInfos = new TagVariableInfo[variableVector.size()]; variableVector.copyInto(tagVariableInfos); TagInfo taginfo = new TagInfo(tagName, tagClassName, bodycontent, info, this, tei, tagAttributeInfo, displayName, smallIcon, largeIcon, tagVariableInfos, dynamicAttributes); return taginfo; }