You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2012/11/16 23:49:13 UTC

svn commit: r1410614 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/jasper/tagplugins/jstl/core/Out.java

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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org