* [EMAIL PROTECTED]:
> Author: almaw
> Date: Mon Apr 2 10:52:44 2007
> New Revision: 524856
>
> URL: http://svn.apache.org/viewvc?view=rev&rev=524856
> Log:
> Add contextRelative option to external links.
>
> Modified:
>
> incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/wicket/markup/html/link/ExternalLink.java
>
> Modified:
> incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/wicket/markup/html/link/ExternalLink.java
> URL:
> http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/wicket/markup/html/link/ExternalLink.java?view=diff&rev=524856&r1=524855&r2=524856
> ==============================================================================
> ---
> incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/wicket/markup/html/link/ExternalLink.java
> (original)
> +++
> incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/wicket/markup/html/link/ExternalLink.java
> Mon Apr 2 10:52:44 2007
> @@ -150,6 +153,30 @@
> if (hrefValue != null)
> {
> String url = hrefValue.toString();
> +
> + if (contextRelative)
> + {
> + if (url.length() > 0 && url.charAt(0)
> == '/')
> + {
> + url = url.substring(1);
> + }
> + PrependingStringBuffer prepender = new
> PrependingStringBuffer(url.toString());
> + String relativeUrl =
> getRequest().getRelativeURL();
> +
> + for (int i = 0; i <
> relativeUrl.length(); i++)
> + {
> + if (relativeUrl.charAt(i) ==
> '?')
> + {
> + break;
> + }
> + if (relativeUrl.charAt(i) ==
> '/')
> + {
> +
> prepender.prepend("../");
> + }
> + }
> + url = prepender.toString();
> + }
> +
> // if the tag is an anchor proper
> if (tag.getName().equalsIgnoreCase("a") ||
> tag.getName().equalsIgnoreCase("link")
> ||
> tag.getName().equalsIgnoreCase("area"))
Hello AlMaw,
I wonder if we can try centralizing the relative URL stuff in a
common helper method rather than spreading the rewriting code in
many places? Or is it completely unrelated? What about the
reusable rewriteRelativeURL() method that we discussed would be
great to use from anywhere in the code?
Cheers,
--
Jean-Baptiste Quenot
aka John Banana Qwerty
http://caraldi.com/jbq/