You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2009/11/20 23:37:19 UTC

svn commit: r882748 - /myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlLabelRenderer.java

Author: lu4242
Date: Fri Nov 20 22:37:18 2009
New Revision: 882748

URL: http://svn.apache.org/viewvc?rev=882748&view=rev
Log:
MYFACES-2416 h:outputLabel does not handle escape property

Modified:
    myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlLabelRenderer.java

Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlLabelRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlLabelRenderer.java?rev=882748&r1=882747&r2=882748&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlLabelRenderer.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlLabelRenderer.java Fri Nov 20 22:37:18 2009
@@ -29,10 +29,12 @@
 import javax.faces.component.behavior.ClientBehavior;
 import javax.faces.component.behavior.ClientBehaviorHolder;
 import javax.faces.component.html.HtmlOutputLabel;
+import javax.faces.component.html.HtmlOutputText;
 import javax.faces.context.FacesContext;
 import javax.faces.context.ResponseWriter;
 
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFRenderer;
+import org.apache.myfaces.shared_impl.component.EscapeCapable;
 import org.apache.myfaces.shared_impl.renderkit.JSFAttr;
 import org.apache.myfaces.shared_impl.renderkit.RendererUtils;
 import org.apache.myfaces.shared_impl.renderkit.html.HTML;
@@ -107,7 +109,24 @@
             String text = RendererUtils.getStringValue(facesContext, uiComponent);
             if (text != null)
             {
-                writer.writeText(text, "value");
+                boolean escape;
+                if (uiComponent instanceof HtmlOutputLabel || uiComponent instanceof EscapeCapable)
+                {
+                    escape = ((HtmlOutputLabel)uiComponent).isEscape();
+                }
+                else
+                {
+                    escape = RendererUtils.getBooleanAttribute(uiComponent, org.apache.myfaces.shared_impl.renderkit.JSFAttr.ESCAPE_ATTR,
+                                                               true); //default is to escape
+                }                
+                if (escape)
+                {
+                    writer.writeText(text, org.apache.myfaces.shared_impl.renderkit.JSFAttr.VALUE_ATTR);
+                }
+                else
+                {
+                    writer.write(text);
+                }
             }
         }