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