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/05/15 23:30:05 UTC

svn commit: r775352 - /myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlLinkRendererBase.java

Author: lu4242
Date: Fri May 15 21:30:05 2009
New Revision: 775352

URL: http://svn.apache.org/viewvc?rev=775352&view=rev
Log:
MYFACES-2155 HtmlLinkRenderer did not recognize ankers (#) (Thanks to Martin Haimberger)

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

Modified: myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlLinkRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlLinkRendererBase.java?rev=775352&r1=775351&r2=775352&view=diff
==============================================================================
--- myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlLinkRendererBase.java (original)
+++ myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlLinkRendererBase.java Fri May 15 21:30:05 2009
@@ -454,6 +454,15 @@
         {
             //calculate href
             String href = org.apache.myfaces.shared.renderkit.RendererUtils.getStringValue(facesContext, output);
+            //check if there is an anchor # in it
+            int index = href.indexOf('#');
+            String anchorString = null;
+            if (index > -1)
+            {
+                // remove anchor element and add it again after the parameter are encoded
+                anchorString = href.substring(index,href.length());
+                href = href.substring(0,index);
+            }
             if (getChildCount(output) > 0)
             {
                 StringBuffer hrefBuf = new StringBuffer(href);
@@ -462,6 +471,10 @@
                                      writer.getCharacterEncoding());
                 href = hrefBuf.toString();
             }
+            if (index > -1)
+            {
+                href += anchorString;
+            }
             href = facesContext.getExternalContext().encodeResourceURL(href);    //TODO: or encodeActionURL ?
 
             //write anchor