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 2010/05/02 08:27:54 UTC

svn commit: r940165 - /myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlFormRendererBase.java

Author: lu4242
Date: Sun May  2 06:27:54 2010
New Revision: 940165

URL: http://svn.apache.org/viewvc?rev=940165&view=rev
Log:
MYFACES-2692 Hidden field "javax.faces.encodedURL" should be rendered at begin of h:form

Modified:
    myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlFormRendererBase.java

Modified: myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlFormRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlFormRendererBase.java?rev=940165&r1=940164&r2=940165&view=diff
==============================================================================
--- myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlFormRendererBase.java (original)
+++ myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlFormRendererBase.java Sun May  2 06:27:54 2010
@@ -76,10 +76,12 @@ public class HtmlFormRendererBase
         if (acceptCharset != null) {
             writer.writeAttribute(HTML.ACCEPT_CHARSET_ATTR, acceptCharset, null);
         }
+        String encodedActionURL = facesContext.getExternalContext().encodeActionURL(actionURL);
+        
         writer.writeURIAttribute(HTML.ACTION_ATTR,
-                                 facesContext.getExternalContext().encodeActionURL(actionURL),
-                                 null);
-
+                encodedActionURL,
+                null);
+        
         Map<String, List<ClientBehavior>> behaviors = null;
         if (htmlForm instanceof ClientBehaviorHolder && JavascriptUtils.isJavascriptAllowed(facesContext.getExternalContext()))
         {
@@ -94,6 +96,14 @@ public class HtmlFormRendererBase
 
         writer.write(""); // force start element tag to be closed
 
+        String encodedPartialActionURL =  facesContext.getExternalContext().encodePartialActionURL(actionURL);
+        
+        if (encodedActionURL != null && encodedPartialActionURL != null
+            && (!encodedActionURL.equals(encodedPartialActionURL)))
+        {
+            HtmlRendererUtils.renderHiddenInputField(writer, "javax.faces.encodedURL", encodedPartialActionURL);
+        }
+        
         // not needed in this version as nothing is written to the form tag, but
         // included for backward compatibility to the 1.1.1 patch (JIRA MYFACES-1276)
         // However, might be needed in the future