当前位置: 首页>>代码示例>>Java>>正文


Java TagPluginContext.generateBody方法代码示例

本文整理汇总了Java中org.apache.jasper.compiler.tagplugin.TagPluginContext.generateBody方法的典型用法代码示例。如果您正苦于以下问题:Java TagPluginContext.generateBody方法的具体用法?Java TagPluginContext.generateBody怎么用?Java TagPluginContext.generateBody使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.jasper.compiler.tagplugin.TagPluginContext的用法示例。


在下文中一共展示了TagPluginContext.generateBody方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: doTag

import org.apache.jasper.compiler.tagplugin.TagPluginContext; //导入方法依赖的package包/类
@Override
public void doTag(TagPluginContext ctxt) {
    // Get the parent context to determine if this is the first <c:when>
    TagPluginContext parentContext = ctxt.getParentContext();
    if (parentContext == null) {
        ctxt.dontUseTagPlugin();
        return;
    }
    
    if ("true".equals(parentContext.getPluginAttribute("hasBeenHere"))) {
        ctxt.generateJavaSource("} else if(");
        // See comment below for the reason we generate the extra "}" here.
    }
    else {
        ctxt.generateJavaSource("if(");
        parentContext.setPluginAttribute("hasBeenHere", "true");
    }
    ctxt.generateAttribute("test");
    ctxt.generateJavaSource("){");
    ctxt.generateBody();
    
    // We don't generate the closing "}" for the "if" here because there
    // may be whitespaces in between <c:when>'s.  Instead we delay
    // generating it until the next <c:when> or <c:otherwise> or
    // <c:choose>
}
 
开发者ID:liaokailin,项目名称:tomcat7,代码行数:27,代码来源:When.java

示例2: doTag

import org.apache.jasper.compiler.tagplugin.TagPluginContext; //导入方法依赖的package包/类
@Override
public void doTag(TagPluginContext ctxt) {
    String condV = ctxt.getTemporaryVariableName();
    ctxt.generateJavaSource("boolean " + condV + "=");
    ctxt.generateAttribute("test");
    ctxt.generateJavaSource(";");
    if (ctxt.isAttributeSpecified("var")) {
        String scope = "PageContext.PAGE_SCOPE";
        if (ctxt.isAttributeSpecified("scope")) {
            String scopeStr = ctxt.getConstantAttribute("scope");
            if ("request".equals(scopeStr)) {
                scope = "PageContext.REQUEST_SCOPE";
            } else if ("session".equals(scopeStr)) {
                scope = "PageContext.SESSION_SCOPE";
            } else if ("application".equals(scopeStr)) {
                scope = "PageContext.APPLICATION_SCOPE";
            }
        }
        ctxt.generateJavaSource("_jspx_page_context.setAttribute(");
        ctxt.generateAttribute("var");
        ctxt.generateJavaSource(", new Boolean(" + condV + ")," + scope + ");");
    }
    ctxt.generateJavaSource("if (" + condV + "){");
    ctxt.generateBody();
    ctxt.generateJavaSource("}");
}
 
开发者ID:sunmingshuai,项目名称:apache-tomcat-7.0.73-with-comment,代码行数:27,代码来源:If.java

示例3: doTag

import org.apache.jasper.compiler.tagplugin.TagPluginContext; //导入方法依赖的package包/类
@Override
public void doTag(TagPluginContext ctxt) {
	String condV = ctxt.getTemporaryVariableName();
	ctxt.generateJavaSource("boolean " + condV + "=");
	ctxt.generateAttribute("test");
	ctxt.generateJavaSource(";");
	if (ctxt.isAttributeSpecified("var")) {
		String scope = "PageContext.PAGE_SCOPE";
		if (ctxt.isAttributeSpecified("scope")) {
			String scopeStr = ctxt.getConstantAttribute("scope");
			if ("request".equals(scopeStr)) {
				scope = "PageContext.REQUEST_SCOPE";
			} else if ("session".equals(scopeStr)) {
				scope = "PageContext.SESSION_SCOPE";
			} else if ("application".equals(scopeStr)) {
				scope = "PageContext.APPLICATION_SCOPE";
			}
		}
		ctxt.generateJavaSource("_jspx_page_context.setAttribute(");
		ctxt.generateAttribute("var");
		ctxt.generateJavaSource(", new Boolean(" + condV + ")," + scope + ");");
	}
	ctxt.generateJavaSource("if (" + condV + "){");
	ctxt.generateBody();
	ctxt.generateJavaSource("}");
}
 
开发者ID:how2j,项目名称:lazycat,代码行数:27,代码来源:If.java

示例4: doTag

import org.apache.jasper.compiler.tagplugin.TagPluginContext; //导入方法依赖的package包/类
@Override
public void doTag(TagPluginContext ctxt) {
    // Get the parent context to determine if this is the first <c:when>
    TagPluginContext parentContext = ctxt.getParentContext();
    if (parentContext == null) {
        ctxt.dontUseTagPlugin();
        return;
    }

    if ("true".equals(parentContext.getPluginAttribute("hasBeenHere"))) {
        ctxt.generateJavaSource("} else if(");
        // See comment below for the reason we generate the extra "}" here.
    }
    else {
        ctxt.generateJavaSource("if(");
        parentContext.setPluginAttribute("hasBeenHere", "true");
    }
    ctxt.generateAttribute("test");
    ctxt.generateJavaSource("){");
    ctxt.generateBody();

    // We don't generate the closing "}" for the "if" here because there
    // may be whitespaces in between <c:when>'s.  Instead we delay
    // generating it until the next <c:when> or <c:otherwise> or
    // <c:choose>
}
 
开发者ID:nkasvosve,项目名称:beyondj,代码行数:27,代码来源:When.java

示例5: doTag

import org.apache.jasper.compiler.tagplugin.TagPluginContext; //导入方法依赖的package包/类
@Override
public void doTag(TagPluginContext ctxt) {
    
    // See When.java for the reason whey "}" is need at the beginng and
    // not at the end.
    ctxt.generateJavaSource("} else {");
    ctxt.generateBody();
}
 
开发者ID:liaokailin,项目名称:tomcat7,代码行数:9,代码来源:Otherwise.java

示例6: doTag

import org.apache.jasper.compiler.tagplugin.TagPluginContext; //导入方法依赖的package包/类
@Override
public void doTag(TagPluginContext ctxt) {

	// Not much to do here, much of the work will be done in the
	// containing tags, <c:when> and <c:otherwise>.

	ctxt.generateBody();
	// See comments in When.java for the reason "}" is generated here.
	ctxt.generateJavaSource("}");
}
 
开发者ID:how2j,项目名称:lazycat,代码行数:11,代码来源:Choose.java

示例7: doTag

import org.apache.jasper.compiler.tagplugin.TagPluginContext; //导入方法依赖的package包/类
@Override
public void doTag(TagPluginContext ctxt) {
    
    // Not much to do here, much of the work will be done in the
    // containing tags, <c:when> and <c:otherwise>.
    
    ctxt.generateBody();
    // See comments in When.java for the reason "}" is generated here.
    ctxt.generateJavaSource("}");
}
 
开发者ID:liaokailin,项目名称:tomcat7,代码行数:11,代码来源:Choose.java

示例8: doTag

import org.apache.jasper.compiler.tagplugin.TagPluginContext; //导入方法依赖的package包/类
@Override
public void doTag(TagPluginContext ctxt) {

	// See When.java for the reason whey "}" is need at the beginning and
	// not at the end.
	ctxt.generateJavaSource("} else {");
	ctxt.generateBody();
}
 
开发者ID:how2j,项目名称:lazycat,代码行数:9,代码来源:Otherwise.java

示例9: doTag

import org.apache.jasper.compiler.tagplugin.TagPluginContext; //导入方法依赖的package包/类
@Override
public void doTag(TagPluginContext ctxt) {

    // See When.java for the reason whey "}" is need at the beginng and
    // not at the end.
    ctxt.generateJavaSource("} else {");
    ctxt.generateBody();
}
 
开发者ID:nkasvosve,项目名称:beyondj,代码行数:9,代码来源:Otherwise.java

示例10: doTag

import org.apache.jasper.compiler.tagplugin.TagPluginContext; //导入方法依赖的package包/类
@Override
public void doTag(TagPluginContext ctxt) {

    // Not much to do here, much of the work will be done in the
    // containing tags, <c:when> and <c:otherwise>.

    ctxt.generateBody();
    // See comments in When.java for the reason "}" is generated here.
    ctxt.generateJavaSource("}");
}
 
开发者ID:nkasvosve,项目名称:beyondj,代码行数:11,代码来源:Choose.java

示例11: doTag

import org.apache.jasper.compiler.tagplugin.TagPluginContext; //导入方法依赖的package包/类
@Override
public void doTag(TagPluginContext ctxt) {

	// flag for the existence of the "context"
	boolean hasContext = ctxt.isAttributeSpecified("context");

	// names of the temp variables
	String urlName = ctxt.getTemporaryVariableName();
	String contextName = ctxt.getTemporaryVariableName();
	String baseUrlName = ctxt.getTemporaryVariableName();
	String resultName = ctxt.getTemporaryVariableName();
	String responseName = ctxt.getTemporaryVariableName();

	// get context
	ctxt.generateJavaSource("String " + contextName + " = null;");
	if (hasContext) {
		ctxt.generateJavaSource(contextName + " = ");
		ctxt.generateAttribute("context");
		ctxt.generateJavaSource(";");
	}

	// get the url
	ctxt.generateJavaSource("String " + urlName + " = ");
	ctxt.generateAttribute("url");
	ctxt.generateJavaSource(";");

	// get the raw url according to "url" and "context"
	ctxt.generateJavaSource("String " + baseUrlName + " = " + "org.apache.jasper.tagplugins.jstl.Util.resolveUrl("
			+ urlName + ", " + contextName + ", pageContext);");
	ctxt.generateJavaSource("pageContext.setAttribute" + "(\"url_without_param\", " + baseUrlName + ");");

	// add params
	ctxt.generateBody();

	ctxt.generateJavaSource(
			"String " + resultName + " = " + "(String)pageContext.getAttribute(\"url_without_param\");");
	ctxt.generateJavaSource("pageContext.removeAttribute" + "(\"url_without_param\");");

	// get the response object
	ctxt.generateJavaSource(
			"HttpServletResponse " + responseName + " = " + "((HttpServletResponse) pageContext.getResponse());");

	// if the url is relative, encode it
	ctxt.generateJavaSource("if(!org.apache.jasper.tagplugins.jstl.Util.isAbsoluteUrl(" + resultName + ")){");
	ctxt.generateJavaSource("    " + resultName + " = " + responseName + ".encodeRedirectURL(" + resultName + ");");
	ctxt.generateJavaSource("}");

	// do redirect
	ctxt.generateJavaSource("try{");
	ctxt.generateJavaSource("    " + responseName + ".sendRedirect(" + resultName + ");");
	ctxt.generateJavaSource("}catch(java.io.IOException ex){");
	ctxt.generateJavaSource("    throw new JspTagException(ex.toString(), ex);");
	ctxt.generateJavaSource("}");
}
 
开发者ID:how2j,项目名称:lazycat,代码行数:55,代码来源:Redirect.java

示例12: doTag

import org.apache.jasper.compiler.tagplugin.TagPluginContext; //导入方法依赖的package包/类
@Override
public void doTag(TagPluginContext ctxt) {
    
    //flags
    boolean hasVar, hasContext, hasScope;
    
    //init flags
    hasVar = ctxt.isAttributeSpecified("var");
    hasContext = ctxt.isAttributeSpecified("context");
    hasScope = ctxt.isAttributeSpecified("scope");
    
    //define name of the temp variables
    String valueName = ctxt.getTemporaryVariableName();
    String contextName = ctxt.getTemporaryVariableName();
    String baseUrlName = ctxt.getTemporaryVariableName();
    String resultName = ctxt.getTemporaryVariableName();
    String responseName = ctxt.getTemporaryVariableName();
    
    //get the scope
    String strScope = "page";
    if(hasScope){
        strScope = ctxt.getConstantAttribute("scope");
    }
    int iScope = Util.getScope(strScope);
    
    //get the value
    ctxt.generateJavaSource("String " + valueName + " = ");
    ctxt.generateAttribute("value");
    ctxt.generateJavaSource(";");
    
    //get the context
    ctxt.generateJavaSource("String " + contextName + " = null;");
    if(hasContext){
        ctxt.generateJavaSource(contextName + " = ");
        ctxt.generateAttribute("context");
        ctxt.generateJavaSource(";");
    }
    
    //get the raw url
    ctxt.generateJavaSource("String " + baseUrlName + " = " +
            "org.apache.jasper.tagplugins.jstl.Util.resolveUrl(" + valueName + ", " + contextName + ", pageContext);");
    ctxt.generateJavaSource("pageContext.setAttribute" +
            "(\"url_without_param\", " + baseUrlName + ");");
    
    //add params
    ctxt.generateBody();
    
    ctxt.generateJavaSource("String " + resultName + " = " +
    "(String)pageContext.getAttribute(\"url_without_param\");");
    ctxt.generateJavaSource("pageContext.removeAttribute(\"url_without_param\");");
    
    //if the url is relative, encode it
    ctxt.generateJavaSource("if(!org.apache.jasper.tagplugins.jstl.Util.isAbsoluteUrl(" + resultName + ")){");
    ctxt.generateJavaSource("    HttpServletResponse " + responseName + " = " +
    "((HttpServletResponse) pageContext.getResponse());");
    ctxt.generateJavaSource("    " + resultName + " = "
            + responseName + ".encodeURL(" + resultName + ");");
    ctxt.generateJavaSource("}");
    
    //if "var" is specified, the url string store in the attribute var defines
    if(hasVar){
        String strVar = ctxt.getConstantAttribute("var");
        ctxt.generateJavaSource("pageContext.setAttribute" +
                "(\"" + strVar + "\", " + resultName + ", " + iScope + ");");
        
        //if var is not specified, just print out the url string
    }else{
        ctxt.generateJavaSource("try{");
        ctxt.generateJavaSource("    pageContext.getOut().print(" + resultName + ");");
        ctxt.generateJavaSource("}catch(java.io.IOException ex){");
        ctxt.generateJavaSource("    throw new JspTagException(ex.toString(), ex);");
        ctxt.generateJavaSource("}");
    }
}
 
开发者ID:liaokailin,项目名称:tomcat7,代码行数:75,代码来源:Url.java

示例13: doTag

import org.apache.jasper.compiler.tagplugin.TagPluginContext; //导入方法依赖的package包/类
@Override
public void doTag(TagPluginContext ctxt) {
    
    //flag for the existence of the "context"
    boolean hasContext = ctxt.isAttributeSpecified("context");
    
    //names of the temp variables
    String urlName = ctxt.getTemporaryVariableName();
    String contextName = ctxt.getTemporaryVariableName();
    String baseUrlName = ctxt.getTemporaryVariableName();
    String resultName = ctxt.getTemporaryVariableName();
    String responseName = ctxt.getTemporaryVariableName();
    
    //get context
    ctxt.generateJavaSource("String " + contextName + " = null;");
    if(hasContext){
        ctxt.generateJavaSource(contextName + " = ");
        ctxt.generateAttribute("context");
        ctxt.generateJavaSource(";");
    }
    
    //get the url
    ctxt.generateJavaSource("String " + urlName + " = ");
    ctxt.generateAttribute("url");
    ctxt.generateJavaSource(";");
    
    //get the raw url according to "url" and "context"
    ctxt.generateJavaSource("String " + baseUrlName + " = " +
            "org.apache.jasper.tagplugins.jstl.Util.resolveUrl(" + urlName + ", " + contextName + ", pageContext);");
    ctxt.generateJavaSource("pageContext.setAttribute" +
            "(\"url_without_param\", " + baseUrlName + ");");
    
    //add params
    ctxt.generateBody();
    
    ctxt.generateJavaSource("String " + resultName + " = " +
    "(String)pageContext.getAttribute(\"url_without_param\");");
    ctxt.generateJavaSource("pageContext.removeAttribute" +
    "(\"url_without_param\");");
    
    //get the response object
    ctxt.generateJavaSource("HttpServletResponse " + responseName + " = " +
    "((HttpServletResponse) pageContext.getResponse());");
    
    //if the url is relative, encode it
    ctxt.generateJavaSource("if(!org.apache.jasper.tagplugins.jstl.Util.isAbsoluteUrl(" + resultName + ")){");
    ctxt.generateJavaSource("    " + resultName + " = "
            + responseName + ".encodeRedirectURL(" + resultName + ");");
    ctxt.generateJavaSource("}");
    
    //do redirect
    ctxt.generateJavaSource("try{");
    ctxt.generateJavaSource("    " + responseName + ".sendRedirect(" + resultName + ");");
    ctxt.generateJavaSource("}catch(java.io.IOException ex){");
    ctxt.generateJavaSource("    throw new JspTagException(ex.toString(), ex);");
    ctxt.generateJavaSource("}");
}
 
开发者ID:liaokailin,项目名称:tomcat7,代码行数:58,代码来源:Redirect.java

示例14: doTag

import org.apache.jasper.compiler.tagplugin.TagPluginContext; //导入方法依赖的package包/类
@Override
public void doTag(TagPluginContext ctxt) {
    
    //these two data member are to indicate 
    //whether the corresponding attribute is specified
    boolean hasDefault=false, hasEscapeXml=false;
    hasDefault = ctxt.isAttributeSpecified("default");
    hasEscapeXml = ctxt.isAttributeSpecified("escapeXml");
    
    //strValName, strEscapeXmlName & strDefName are two variables' name 
    //standing for value, escapeXml and default attribute
    String strObjectName = ctxt.getTemporaryVariableName();
    String strValName = ctxt.getTemporaryVariableName();
    String strDefName = ctxt.getTemporaryVariableName();
    String strEscapeXmlName = ctxt.getTemporaryVariableName();
    String strSkipBodyName = ctxt.getTemporaryVariableName();

    //according to the tag file, the value attribute is mandatory.
    ctxt.generateImport("java.io.Reader");
    ctxt.generateJavaSource("Object " + strObjectName + "=");
    ctxt.generateAttribute("value");
    ctxt.generateJavaSource(";");
    ctxt.generateJavaSource("String " + strValName + "=null;");
    ctxt.generateJavaSource("if(!(" + strObjectName +
            " instanceof Reader) && "+ strObjectName + " != null){");
    ctxt.generateJavaSource(
            strValName + " = " + strObjectName + ".toString();");
    ctxt.generateJavaSource("}");
    
    //initiate the strDefName with null.
    //if the default has been specified, then assign the value to it;
    ctxt.generateJavaSource("String " + strDefName + " = null;");
    if(hasDefault){
        ctxt.generateJavaSource("if(");
        ctxt.generateAttribute("default");
        ctxt.generateJavaSource(" != null){");
        ctxt.generateJavaSource(strDefName + " = (");
        ctxt.generateAttribute("default");
        ctxt.generateJavaSource(").toString();");
        ctxt.generateJavaSource("}");
    }
    
    //initiate the strEscapeXmlName with true;
    //if the escapeXml is specified, assign the value to it;
    ctxt.generateJavaSource("boolean " + strEscapeXmlName + " = true;");
    if(hasEscapeXml){
        ctxt.generateJavaSource(strEscapeXmlName + " = ");
        ctxt.generateAttribute("escapeXml");
        ctxt.generateJavaSource(";");
    }
    
    //main part. 
    ctxt.generateJavaSource(
            "boolean " + strSkipBodyName + " = " +
            "org.apache.jasper.tagplugins.jstl.core.Out.output(out, " +
            strObjectName + ", " + strValName + ", " + strDefName + ", " +
            strEscapeXmlName + ");");
    ctxt.generateJavaSource("if(!" + strSkipBodyName + ") {");
    ctxt.generateBody();
    ctxt.generateJavaSource("}");
}
 
开发者ID:liaokailin,项目名称:tomcat7,代码行数:62,代码来源:Out.java

示例15: doTag

import org.apache.jasper.compiler.tagplugin.TagPluginContext; //导入方法依赖的package包/类
@Override
public void doTag(TagPluginContext ctxt) {

	// these two data member are to indicate
	// whether the corresponding attribute is specified
	boolean hasDefault = false, hasEscapeXml = false;
	hasDefault = ctxt.isAttributeSpecified("default");
	hasEscapeXml = ctxt.isAttributeSpecified("escapeXml");

	// strValName, strEscapeXmlName & strDefName are two variables' name
	// standing for value, escapeXml and default attribute
	String strObjectName = ctxt.getTemporaryVariableName();
	String strValName = ctxt.getTemporaryVariableName();
	String strDefName = ctxt.getTemporaryVariableName();
	String strEscapeXmlName = ctxt.getTemporaryVariableName();
	String strSkipBodyName = ctxt.getTemporaryVariableName();

	// according to the tag file, the value attribute is mandatory.
	ctxt.generateImport("java.io.Reader");
	ctxt.generateJavaSource("Object " + strObjectName + "=");
	ctxt.generateAttribute("value");
	ctxt.generateJavaSource(";");
	ctxt.generateJavaSource("String " + strValName + "=null;");
	ctxt.generateJavaSource("if(!(" + strObjectName + " instanceof Reader) && " + strObjectName + " != null){");
	ctxt.generateJavaSource(strValName + " = " + strObjectName + ".toString();");
	ctxt.generateJavaSource("}");

	// initiate the strDefName with null.
	// if the default has been specified, then assign the value to it;
	ctxt.generateJavaSource("String " + strDefName + " = null;");
	if (hasDefault) {
		ctxt.generateJavaSource("if(");
		ctxt.generateAttribute("default");
		ctxt.generateJavaSource(" != null){");
		ctxt.generateJavaSource(strDefName + " = (");
		ctxt.generateAttribute("default");
		ctxt.generateJavaSource(").toString();");
		ctxt.generateJavaSource("}");
	}

	// initiate the strEscapeXmlName with true;
	// if the escapeXml is specified, assign the value to it;
	ctxt.generateJavaSource("boolean " + strEscapeXmlName + " = true;");
	if (hasEscapeXml) {
		ctxt.generateJavaSource(strEscapeXmlName + " = ");
		ctxt.generateAttribute("escapeXml");
		ctxt.generateJavaSource(";");
	}

	// main part.
	ctxt.generateJavaSource(
			"boolean " + strSkipBodyName + " = " + "org.apache.jasper.tagplugins.jstl.core.Out.output(out, "
					+ strObjectName + ", " + strValName + ", " + strDefName + ", " + strEscapeXmlName + ");");
	ctxt.generateJavaSource("if(!" + strSkipBodyName + ") {");
	ctxt.generateBody();
	ctxt.generateJavaSource("}");
}
 
开发者ID:how2j,项目名称:lazycat,代码行数:58,代码来源:Out.java


注:本文中的org.apache.jasper.compiler.tagplugin.TagPluginContext.generateBody方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。