Author: markt Date: Fri Nov 16 22:49:12 2012 New Revision: 1410614 URL: http://svn.apache.org/viewvc?rev=1410614&view=rev Log: Follow up on the fix for https://issues.apache.org/bugzilla/show_bug.cgi?id=54011 Need to use the body as the default if no default attribute is defined
Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/jasper/tagplugins/jstl/core/Out.java Propchange: tomcat/tc7.0.x/trunk/ ------------------------------------------------------------------------------ Merged /tomcat/trunk:r1410609,1410611 Modified: tomcat/tc7.0.x/trunk/java/org/apache/jasper/tagplugins/jstl/core/Out.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/jasper/tagplugins/jstl/core/Out.java?rev=1410614&r1=1410613&r2=1410614&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/jasper/tagplugins/jstl/core/Out.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/jasper/tagplugins/jstl/core/Out.java Fri Nov 16 22:49:12 2012 @@ -42,7 +42,8 @@ public final class Out implements TagPlu 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.generateJavaSource("String " + strValName + " = null;"); ctxt.generateJavaSource("if("); @@ -77,12 +78,16 @@ public final class Out implements TagPlu //main part. ctxt.generateJavaSource( + "boolean " + strSkipBodyName + " = " + "org.apache.jasper.tagplugins.jstl.core.Out.output(out, " + strValName + ", " + strDefName + ", " + strEscapeXmlName + ");"); + ctxt.generateJavaSource("if(!" + strSkipBodyName + ") {"); + ctxt.generateBody(); + ctxt.generateJavaSource("}"); } - public static void output(JspWriter out, String value, String defaultValue, + public static boolean output(JspWriter out, String value, String defaultValue, boolean escapeXml) throws IOException { String v = value != null ? value : defaultValue; if (v != null) { @@ -90,6 +95,9 @@ public final class Out implements TagPlu v = org.apache.jasper.tagplugins.jstl.Util.escapeXml(v); } out.write(v); + return true; + } else { + return false; } } } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org