本文整理汇总了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>
}
示例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("}");
}
示例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("}");
}
示例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>
}
示例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();
}
示例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("}");
}
示例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("}");
}
示例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();
}
示例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();
}
示例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("}");
}
示例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("}");
}
示例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("}");
}
}
示例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("}");
}
示例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("}");
}
示例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("}");
}