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> } }
public void doTag(TagPluginContext ctxt) { //scope flag boolean hasScope = ctxt.isAttributeSpecified("scope"); //the value of the "var" String strVar = ctxt.getConstantAttribute("var"); //remove attribute from certain scope. //default scope is "page". if(hasScope){ int iScope = Util.getScope(ctxt.getConstantAttribute("scope")); ctxt.generateJavaSource("pageContext.removeAttribute(\"" + strVar + "\"," + iScope + ");"); }else{ ctxt.generateJavaSource("pageContext.removeAttribute(\"" + strVar + "\");"); } }
@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("}"); } }
@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("}"); } }
hasDefault = ctxt.isAttributeSpecified("default"); hasEscapeXml = ctxt.isAttributeSpecified("escapeXml"); String strObjectName = ctxt.getTemporaryVariableName(); String strValName = ctxt.getTemporaryVariableName(); String strDefName = ctxt.getTemporaryVariableName(); String strEscapeXmlName = ctxt.getTemporaryVariableName(); String strSkipBodyName = ctxt.getTemporaryVariableName(); 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("}"); 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("}");
boolean hasVarStatus = ctxt.isAttributeSpecified("varStatus"); if (hasVarStatus) { ctxt.dontUseTagPlugin(); return; hasVar = ctxt.isAttributeSpecified("var"); hasBegin = ctxt.isAttributeSpecified("begin"); hasEnd = ctxt.isAttributeSpecified("end"); hasStep = ctxt.isAttributeSpecified("step"); boolean hasItems = ctxt.isAttributeSpecified("items"); if (hasItems) { doCollection(ctxt); index = ctxt.getTemporaryVariableName(); ctxt.generateJavaSource("for (int " + index + " = "); ctxt.generateAttribute("begin"); ctxt.generateJavaSource("; " + index + " <= "); ctxt.generateAttribute("end"); if (hasStep) { ctxt.generateJavaSource("; " + index + "+="); ctxt.generateAttribute("step"); ctxt.generateJavaSource(") {"); ctxt.generateJavaSource("; " + index + "++) {"); ctxt.generateJavaSource("_jspx_page_context.setAttribute("); ctxt.generateAttribute("var"); ctxt.generateJavaSource(", String.valueOf(" + index + "));");
String nameName = ctxt.getTemporaryVariableName(); String valueName = ctxt.getTemporaryVariableName(); String urlName = ctxt.getTemporaryVariableName(); String encName = ctxt.getTemporaryVariableName(); String index = ctxt.getTemporaryVariableName(); TagPluginContext parent = ctxt.getParentContext(); if(parent == null){ ctxt.generateJavaSource(" throw new JspTagExcption" + "(\"<param> outside <import> or <urlEncode>\");"); return; ctxt.generateJavaSource("String " + urlName + " = " + "(String)pageContext.getAttribute(\"url_without_param\");"); ctxt.generateJavaSource("String " + nameName + " = "); ctxt.generateAttribute("name"); ctxt.generateJavaSource(";"); ctxt.generateJavaSource("if(" + nameName + " != null && !" + nameName + ".equals(\"\")){"); ctxt.generateJavaSource(" String " + valueName + " = "); ctxt.generateAttribute("value"); ctxt.generateJavaSource(";"); ctxt.generateJavaSource(" if(" + valueName + " == null) " + valueName + " = \"\";"); ctxt.generateJavaSource(" String " + encName + " = pageContext.getResponse().getCharacterEncoding();"); ctxt.generateJavaSource(" " + nameName + " = java.net.URLEncoder.encode(" + nameName + ", " + encName + ");"); ctxt.generateJavaSource(" " + valueName + " = java.net.URLEncoder.encode(" + valueName + ", " + encName + ");"); ctxt.generateJavaSource(" int " + index + ";"); ctxt.generateJavaSource(" " + index + " = " + urlName + ".indexOf(\'?\');");
ctxt.generateDeclaration("ObjectArrayIterator", "private Iterator toIterator(final Object[] a){\n" + " return (new Iterator() {\n" + ctxt.generateDeclaration("booleanArrayIterator", "private Iterator toIterator(final boolean[] a){\n" + " return (new Iterator() {\n" + ctxt.generateDeclaration("byteArrayIterator", "private Iterator toIterator(final byte[] a){\n" + " return (new Iterator() {\n" + ctxt.generateDeclaration("charArrayIterator", "private Iterator toIterator(final char[] a){\n" + " return (new Iterator() {\n" + ctxt.generateDeclaration("shortArrayIterator", "private Iterator toIterator(final short[] a){\n" + " return (new Iterator() {\n" + ctxt.generateDeclaration("intArrayIterator", "private Iterator toIterator(final int[] a){\n" + " return (new Iterator() {\n" + ctxt.generateDeclaration("longArrayIterator", "private Iterator toIterator(final long[] a){\n" + " return (new Iterator() {\n" + ctxt.generateDeclaration("floatArrayIterator",
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("}"); } }
hasDefault = ctxt.isAttributeSpecified("default"); hasEscapeXml = ctxt.isAttributeSpecified("escapeXml"); String strObjectName = ctxt.getTemporaryVariableName(); String strValName = ctxt.getTemporaryVariableName(); String strDefName = ctxt.getTemporaryVariableName(); String strEscapeXmlName = ctxt.getTemporaryVariableName(); String strSkipBodyName = ctxt.getTemporaryVariableName(); 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("}"); 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("}");
boolean hasVarStatus = ctxt.isAttributeSpecified("varStatus"); if (hasVarStatus) { ctxt.dontUseTagPlugin(); return; hasVar = ctxt.isAttributeSpecified("var"); hasBegin = ctxt.isAttributeSpecified("begin"); hasEnd = ctxt.isAttributeSpecified("end"); hasStep = ctxt.isAttributeSpecified("step"); boolean hasItems = ctxt.isAttributeSpecified("items"); if (hasItems) { doCollection(ctxt); index = ctxt.getTemporaryVariableName(); ctxt.generateJavaSource("for (int " + index + " = "); ctxt.generateAttribute("begin"); ctxt.generateJavaSource("; " + index + " <= "); ctxt.generateAttribute("end"); if (hasStep) { ctxt.generateJavaSource("; " + index + "+="); ctxt.generateAttribute("step"); ctxt.generateJavaSource(") {"); ctxt.generateJavaSource("; " + index + "++) {"); ctxt.generateJavaSource("_jspx_page_context.setAttribute("); ctxt.generateAttribute("var"); ctxt.generateJavaSource(", String.valueOf(" + index + "));");
String nameName = ctxt.getTemporaryVariableName(); String valueName = ctxt.getTemporaryVariableName(); String urlName = ctxt.getTemporaryVariableName(); String encName = ctxt.getTemporaryVariableName(); String index = ctxt.getTemporaryVariableName(); TagPluginContext parent = ctxt.getParentContext(); if(parent == null){ ctxt.generateJavaSource(" throw new JspTagException" + "(\"<param> outside <import> or <urlEncode>\");"); return; ctxt.generateJavaSource("String " + urlName + " = " + "(String)pageContext.getAttribute(\"url_without_param\");"); ctxt.generateJavaSource("String " + nameName + " = "); ctxt.generateAttribute("name"); ctxt.generateJavaSource(";"); ctxt.generateJavaSource("if(" + nameName + " != null && !" + nameName + ".equals(\"\")){"); ctxt.generateJavaSource(" String " + valueName + " = "); ctxt.generateAttribute("value"); ctxt.generateJavaSource(";"); ctxt.generateJavaSource(" if(" + valueName + " == null) " + valueName + " = \"\";"); ctxt.generateJavaSource(" String " + encName + " = pageContext.getResponse().getCharacterEncoding();"); ctxt.generateJavaSource(" " + nameName + " = java.net.URLEncoder.encode(" + nameName + ", " + encName + ");"); ctxt.generateJavaSource(" " + valueName + " = java.net.URLEncoder.encode(" + valueName + ", " + encName + ");"); ctxt.generateJavaSource(" int " + index + ";"); ctxt.generateJavaSource(" " + index + " = " + urlName + ".indexOf(\'?\');");
@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(); } }
ctxt.generateDeclaration("ObjectArrayIterator", "private Iterator toIterator(final Object[] a){\n" + " return (new Iterator() {\n" + ctxt.generateDeclaration("booleanArrayIterator", "private Iterator toIterator(final boolean[] a){\n" + " return (new Iterator() {\n" + ctxt.generateDeclaration("byteArrayIterator", "private Iterator toIterator(final byte[] a){\n" + " return (new Iterator() {\n" + ctxt.generateDeclaration("charArrayIterator", "private Iterator toIterator(final char[] a){\n" + " return (new Iterator() {\n" + ctxt.generateDeclaration("shortArrayIterator", "private Iterator toIterator(final short[] a){\n" + " return (new Iterator() {\n" + ctxt.generateDeclaration("intArrayIterator", "private Iterator toIterator(final int[] a){\n" + " return (new Iterator() {\n" + ctxt.generateDeclaration("longArrayIterator", "private Iterator toIterator(final long[] a){\n" + " return (new Iterator() {\n" + ctxt.generateDeclaration("floatArrayIterator",
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> } }
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("}"); } }
hasDefault = ctxt.isAttributeSpecified("default"); hasEscapeXml = ctxt.isAttributeSpecified("escapeXml"); String strObjectName = ctxt.getTemporaryVariableName(); String strValName = ctxt.getTemporaryVariableName(); String strDefName = ctxt.getTemporaryVariableName(); String strEscapeXmlName = ctxt.getTemporaryVariableName(); String strSkipBodyName = ctxt.getTemporaryVariableName(); 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("}"); 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("}");
boolean hasVarStatus = ctxt.isAttributeSpecified("varStatus"); if (hasVarStatus) { ctxt.dontUseTagPlugin(); return; hasVar = ctxt.isAttributeSpecified("var"); hasBegin = ctxt.isAttributeSpecified("begin"); hasEnd = ctxt.isAttributeSpecified("end"); hasStep = ctxt.isAttributeSpecified("step"); boolean hasItems = ctxt.isAttributeSpecified("items"); if (hasItems) { doCollection(ctxt); index = ctxt.getTemporaryVariableName(); ctxt.generateJavaSource("for (int " + index + " = "); ctxt.generateAttribute("begin"); ctxt.generateJavaSource("; " + index + " <= "); ctxt.generateAttribute("end"); if (hasStep) { ctxt.generateJavaSource("; " + index + "+="); ctxt.generateAttribute("step"); ctxt.generateJavaSource(") {"); ctxt.generateJavaSource("; " + index + "++) {"); ctxt.generateJavaSource("_jspx_page_context.setAttribute("); ctxt.generateAttribute("var"); ctxt.generateJavaSource(", String.valueOf(" + index + "));");
String nameName = ctxt.getTemporaryVariableName(); String valueName = ctxt.getTemporaryVariableName(); String urlName = ctxt.getTemporaryVariableName(); String encName = ctxt.getTemporaryVariableName(); String index = ctxt.getTemporaryVariableName(); TagPluginContext parent = ctxt.getParentContext(); if(parent == null){ ctxt.generateJavaSource(" throw new JspTagExcption" + "(\"<param> outside <import> or <urlEncode>\");"); return; ctxt.generateJavaSource("String " + urlName + " = " + "(String)pageContext.getAttribute(\"url_without_param\");"); ctxt.generateJavaSource("String " + nameName + " = "); ctxt.generateAttribute("name"); ctxt.generateJavaSource(";"); ctxt.generateJavaSource("if(" + nameName + " != null && !" + nameName + ".equals(\"\")){"); ctxt.generateJavaSource(" String " + valueName + " = "); ctxt.generateAttribute("value"); ctxt.generateJavaSource(";"); ctxt.generateJavaSource(" if(" + valueName + " == null) " + valueName + " = \"\";"); ctxt.generateJavaSource(" String " + encName + " = pageContext.getResponse().getCharacterEncoding();"); ctxt.generateJavaSource(" " + nameName + " = java.net.URLEncoder.encode(" + nameName + ", " + encName + ");"); ctxt.generateJavaSource(" " + valueName + " = java.net.URLEncoder.encode(" + valueName + ", " + encName + ");"); ctxt.generateJavaSource(" int " + index + ";"); ctxt.generateJavaSource(" " + index + " = " + urlName + ".indexOf(\'?\');");
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(); } }