Java 类javax.servlet.jsp.tagext.TagExtraInfo 实例源码

项目:tomcat7    文件:JasperTagInfo.java   
public JasperTagInfo(String tagName,
        String tagClassName,
        String bodyContent,
        String infoString,
        TagLibraryInfo taglib,
        TagExtraInfo tagExtraInfo,
        TagAttributeInfo[] attributeInfo,
        String displayName,
        String smallIcon,
        String largeIcon,
        TagVariableInfo[] tvi,
        String mapName) {

    super(tagName, tagClassName, bodyContent, infoString, taglib,
            tagExtraInfo, attributeInfo, displayName, smallIcon, largeIcon,
            tvi);

    this.dynamicAttrsMapName = mapName;
}
项目:apache-tomcat-7.0.73-with-comment    文件:JasperTagInfo.java   
public JasperTagInfo(String tagName,
        String tagClassName,
        String bodyContent,
        String infoString,
        TagLibraryInfo taglib,
        TagExtraInfo tagExtraInfo,
        TagAttributeInfo[] attributeInfo,
        String displayName,
        String smallIcon,
        String largeIcon,
        TagVariableInfo[] tvi,
        String mapName) {

    super(tagName, tagClassName, bodyContent, infoString, taglib,
            tagExtraInfo, attributeInfo, displayName, smallIcon, largeIcon,
            tvi);

    this.dynamicAttrsMapName = mapName;
}
项目:class-guard    文件:JasperTagInfo.java   
public JasperTagInfo(String tagName,
        String tagClassName,
        String bodyContent,
        String infoString,
        TagLibraryInfo taglib,
        TagExtraInfo tagExtraInfo,
        TagAttributeInfo[] attributeInfo,
        String displayName,
        String smallIcon,
        String largeIcon,
        TagVariableInfo[] tvi,
        String mapName) {

    super(tagName, tagClassName, bodyContent, infoString, taglib,
            tagExtraInfo, attributeInfo, displayName, smallIcon, largeIcon,
            tvi);

    this.dynamicAttrsMapName = mapName;
}
项目:apache-tomcat-7.0.57    文件:JasperTagInfo.java   
public JasperTagInfo(String tagName,
        String tagClassName,
        String bodyContent,
        String infoString,
        TagLibraryInfo taglib,
        TagExtraInfo tagExtraInfo,
        TagAttributeInfo[] attributeInfo,
        String displayName,
        String smallIcon,
        String largeIcon,
        TagVariableInfo[] tvi,
        String mapName) {

    super(tagName, tagClassName, bodyContent, infoString, taglib,
            tagExtraInfo, attributeInfo, displayName, smallIcon, largeIcon,
            tvi);

    this.dynamicAttrsMapName = mapName;
}
项目:apache-tomcat-7.0.57    文件:JasperTagInfo.java   
public JasperTagInfo(String tagName,
        String tagClassName,
        String bodyContent,
        String infoString,
        TagLibraryInfo taglib,
        TagExtraInfo tagExtraInfo,
        TagAttributeInfo[] attributeInfo,
        String displayName,
        String smallIcon,
        String largeIcon,
        TagVariableInfo[] tvi,
        String mapName) {

    super(tagName, tagClassName, bodyContent, infoString, taglib,
            tagExtraInfo, attributeInfo, displayName, smallIcon, largeIcon,
            tvi);

    this.dynamicAttrsMapName = mapName;
}
项目:WBSAirback    文件:JasperTagInfo.java   
public JasperTagInfo(String tagName,
        String tagClassName,
        String bodyContent,
        String infoString,
        TagLibraryInfo taglib,
        TagExtraInfo tagExtraInfo,
        TagAttributeInfo[] attributeInfo,
        String displayName,
        String smallIcon,
        String largeIcon,
        TagVariableInfo[] tvi,
        String mapName) {

    super(tagName, tagClassName, bodyContent, infoString, taglib,
            tagExtraInfo, attributeInfo, displayName, smallIcon, largeIcon,
            tvi);

    this.dynamicAttrsMapName = mapName;
}
项目:mayaa    文件:TLDProcessorDefinition.java   
protected void settingExtraInfo(
        JspProcessor processor, Hashtable seed) {
    TagExtraInfo tei =
            (TagExtraInfo) ObjectUtil.newInstance(getExtraInfoClass());

    boolean hasNestedVariable = existsNestedVariable(tei, seed);
    boolean hasDynamicName = existsDynamicName(seed);

    TLDScriptingVariableInfo variableInfo = new TLDScriptingVariableInfo();

    variableInfo.setTagExtraInfo(tei);
    variableInfo.setNestedVariable(hasNestedVariable);
    variableInfo.setDynamicName(hasDynamicName);
    if (hasNestedVariable) {
        ScriptableTagData tagData = new ScriptableTagData(seed);
        if (hasDynamicName) {
            variableInfo.setTagData(tagData);
        } else {
            variableInfo.setVariableInfos(tei.getVariableInfo(tagData));
        }
    }

    processor.setTLDScriptingVariableInfo(variableInfo);
}
项目:lazycat    文件:JasperTagInfo.java   
public JasperTagInfo(String tagName, String tagClassName, String bodyContent, String infoString,
        TagLibraryInfo taglib, TagExtraInfo tagExtraInfo, TagAttributeInfo[] attributeInfo, String displayName,
        String smallIcon, String largeIcon, TagVariableInfo[] tvi, String mapName) {

    super(tagName, tagClassName, bodyContent, infoString, taglib, tagExtraInfo, attributeInfo, displayName,
            smallIcon, largeIcon, tvi);

    this.dynamicAttrsMapName = mapName;
}
项目:mayaa    文件:TagTagHandler.java   
protected void end(String body) {
    try {
        Class clazz = ObjectUtil.loadClass(body, TagExtraInfo.class);
        setTeiClass(clazz);
    } catch (RuntimeException e) {
        if (LOG.isErrorEnabled()) {
            LOG.error(e.getMessage());
        }
        _handler.invalidate();
    }
}
项目:mayaa    文件:TLDProcessorDefinition.java   
public void setExtraInfoClass(Class teiClass) {
    if (teiClass == null
            || TagExtraInfo.class.isAssignableFrom(teiClass) == false) {
        throw new IllegalArgumentException();
    }
    _teiClass = teiClass;
}
项目:mayaa    文件:TLDProcessorDefinition.java   
protected boolean existsNestedVariable(
        TagExtraInfo tei, Hashtable seed) {
    VariableInfo[] dummy = tei.getVariableInfo(new DummyTagData(seed));
    if (dummy != null) {
        for (int i = 0; i < dummy.length; i++) {
            if (dummy[i].getScope() == VariableInfo.NESTED) {
                return true;
            }
        }
    }
    return false;
}
项目:lazycat    文件:Validator.java   
@Override
public void visit(Node.CustomTag n) throws JasperException {

    TagInfo tagInfo = n.getTagInfo();
    if (tagInfo == null) {
        err.jspError(n, "jsp.error.missing.tagInfo", n.getQName());
    }

    /*
     * The bodycontent of a SimpleTag cannot be JSP.
     */
    if (n.implementsSimpleTag() && tagInfo.getBodyContent().equalsIgnoreCase(TagInfo.BODY_CONTENT_JSP)) {
        err.jspError(n, "jsp.error.simpletag.badbodycontent", tagInfo.getTagClassName());
    }

    /*
     * If the tag handler declares in the TLD that it supports dynamic
     * attributes, it also must implement the DynamicAttributes
     * interface.
     */
    if (tagInfo.hasDynamicAttributes() && !n.implementsDynamicAttributes()) {
        err.jspError(n, "jsp.error.dynamic.attributes.not.implemented", n.getQName());
    }

    /*
     * Make sure all required attributes are present, either as
     * attributes or named attributes (<jsp:attribute>). Also make sure
     * that the same attribute is not specified in both attributes or
     * named attributes.
     */
    TagAttributeInfo[] tldAttrs = tagInfo.getAttributes();
    String customActionUri = n.getURI();
    Attributes attrs = n.getAttributes();
    int attrsSize = (attrs == null) ? 0 : attrs.getLength();
    for (int i = 0; i < tldAttrs.length; i++) {
        String attr = null;
        if (attrs != null) {
            attr = attrs.getValue(tldAttrs[i].getName());
            if (attr == null) {
                attr = attrs.getValue(customActionUri, tldAttrs[i].getName());
            }
        }
        Node.NamedAttribute na = n.getNamedAttributeNode(tldAttrs[i].getName());

        if (tldAttrs[i].isRequired() && attr == null && na == null) {
            err.jspError(n, "jsp.error.missing_attribute", tldAttrs[i].getName(), n.getLocalName());
        }
        if (attr != null && na != null) {
            err.jspError(n, "jsp.error.duplicate.name.jspattribute", tldAttrs[i].getName());
        }
    }

    Node.Nodes naNodes = n.getNamedAttributeNodes();
    int jspAttrsSize = naNodes.size() + attrsSize;
    Node.JspAttribute[] jspAttrs = null;
    if (jspAttrsSize > 0) {
        jspAttrs = new Node.JspAttribute[jspAttrsSize];
    }
    Hashtable<String, Object> tagDataAttrs = new Hashtable<String, Object>(attrsSize);

    checkXmlAttributes(n, jspAttrs, tagDataAttrs);
    checkNamedAttributes(n, jspAttrs, attrsSize, tagDataAttrs);

    TagData tagData = new TagData(tagDataAttrs);

    // JSP.C1: It is a (translation time) error for an action that
    // has one or more variable subelements to have a TagExtraInfo
    // class that returns a non-null object.
    TagExtraInfo tei = tagInfo.getTagExtraInfo();
    if (tei != null && tei.getVariableInfo(tagData) != null && tei.getVariableInfo(tagData).length > 0
            && tagInfo.getTagVariableInfos().length > 0) {
        err.jspError("jsp.error.non_null_tei_and_var_subelems", n.getQName());
    }

    n.setTagData(tagData);
    n.setJspAttributes(jspAttrs);

    visitBody(n);
}
项目:mayaa    文件:TLDScriptingVariableInfo.java   
public void setTagExtraInfo(TagExtraInfo tei) {
    _tei = tei;
}