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

Reply via email to