ok, at least an easy fix is for the prepender to check if the path is relative, 
and if so not modify it.

ittay

Igor Vaynberg wrote:
> yeah, that would be nice to have, but - the prepender knows nothing 
> about mounted pages or runtime urls. it only knows about markup and your 
> context path. furthermore the big advantage of the way it works now is 
> that the replacement only happens once when the markup is loaded and 
> before it is cached so it doesnt cause a performance hit.
> 
> you can write your own prepender if you want that works the way you 
> want, or maybe juergen can come up with a better idea.
> 
> -Igor
> 
> 
> On 6/19/06, * Ittay Dror* <[EMAIL PROTECTED] 
> <mailto:[EMAIL PROTECTED]>> wrote:
> 
>     if i understand correctly, this is how it goes:
> 
>     i have a directory named 'web' with a tree of directories containing
>     html and css files. the html files link to the css files by relative
>     paths (../include/some.css)
>     the servlet is on the url pattern /pages/* the directory is mounted
>     under pages/plugins/foo
> 
>     this means, that if i have a page at
>     pages/plugins/foo/somedir/page.html, and it references its css as
>     the above, then the full path should be
>     pages/plugins/foo/include/some.css. however, the prepender will take
>     the application's context path (/pages), and prepend it to the
>     relative url, thus getting /pages/../include/some.css, which doesn't
>     point to the right place.
> 
>     i think the prepender should use the mount path (ages/plugins/foo)
>     for absolute urls and the page's path (pages/plugins/foo/somedir/)
>     for relative urls
> 
>     ittay
> 
> 
>     Igor Vaynberg wrote:
>      > let me just pipe in for a sec and explain why we do it that way. the
>      > problem with relative paths in wicket is that a page can be
>     mounted at
>      > any point, so the relative's path point can vary - making
>     relative paths
>      > useless somewhat. this is why we built the prepender - it turns all
>      > relative paths into absolute paths so that a page can be mounted
>     on any
>      > mount /app/a or /app/a/b/c and all the hardcoded links to resources
>      > (js/css/img) still work.
>      >
>      > just giving some background
>      >
>      > -Igor
>      >
>      >
>      > On 6/19/06, *Ittay Dror* <[EMAIL PROTECTED]
>     <mailto:[EMAIL PROTECTED]>
>      > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>> wrote:
>      >
>      >     Hi Juergen,
>      >
>      >     the class that adds the '/' is
>      >     wicket.markup.parser.filter.PrependContextPathHandler . it
>     adds the
>      >     application's context path to all href attributes.
>      >
>      >     the thing is, it doesn't work with relative paths, as the one
>     we're
>      >     using. if my application is at /foo, and i have a page in
>      >     /foo/bar/page.html, and it uses <link> with
>     href=../zoo/my.css, then
>      >     adding /foo/ will create an invalid link element.
>      >
>      >     i think it should either check the path is not relative to
>     the page,
>      >     or, always use the page's path.
>      >
>      >     ittay
>      >
>      >
>      >
>      >     Juergen Donnerstag wrote:
>      >      > And this is your base page? Would you please a junit test
>     case.
>      >      >
>      >      > Juergen
>      >      >
>      >      > On 6/15/06, Ittay Dror < [EMAIL PROTECTED]
>     <mailto:[EMAIL PROTECTED]>
>      >     <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>> wrote:
>      >      >> (i've sent this an hour ago, but can's see it on the
>     list. so
>      >     i'm resending, sorry if it appears twice)
>      >      >>
>      >      >>
>      >      >> i'm using markup inheritance with head contribution:
>      >      >> <wicket:head>
>      >      >> <link href="../include/global_en.css" rel="stylesheet"
>      >     type="text/css">
>      >      >> ....
>      >      >>
>      >      >> the output is:
>      >      >> <head>
>      >      >> <link href="/../include/global_en.css" type="text/css"
>      >     rel="stylesheet">
>      >      >>
>      >      >> notice that the href now is absolute :-(
>      >      >>
>      >      >> thanks,
>      >      >> ittay
>      >      >>
>      >      >> --
>      >      >> ===================================
>      >      >> Ittay Dror,
>      >      >> Chief architect, openQRM TL,
>      >      >> R&D, Qlusters Inc.
>      >      >> [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
>     <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
>      >      >> +972-3-6081994 Fax: +972-3-6081841
>      >      >>
>      >      >> http://www.openQRM.org
>      >      >> - Keeps your Data-Center Up and Running
>      >      >>
>      >      >>
>      >      >>
>      >      >> _______________________________________________
>      >      >> Wicket-user mailing list
>      >      >> [email protected]
>     <mailto:[email protected]>
>      >     <mailto: [email protected]
>     <mailto:[email protected]>>
>      >      >> https://lists.sourceforge.net/lists/listinfo/wicket-user
>      >      >>
>      >      >
>      >      >
>      >      > _______________________________________________
>      >      > Wicket-user mailing list
>      >      > [email protected]
>     <mailto:[email protected]>
>      >     <mailto:[email protected]
>     <mailto:[email protected]>>
>      >      > https://lists.sourceforge.net/lists/listinfo/wicket-user
>     <https://lists.sourceforge.net/lists/listinfo/wicket-user>
>      >     <https://lists.sourceforge.net/lists/listinfo/wicket-user>
>      >      >
>      >
>      >
>      >     --
>      >     ===================================
>      >     Ittay Dror,
>      >     Chief architect, openQRM TL,
>      >     R&D, Qlusters Inc.
>      >     [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> <mailto:
>     [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
>      >     +972-3-6081994 Fax: +972-3-6081841
>      >
>      >     http://www.openQRM.org
>      >     - Keeps your Data-Center Up and Running
>      >
>      >
>      >     _______________________________________________
>      >     Wicket-user mailing list
>      >     [email protected]
>     <mailto:[email protected]>
>      >     <mailto: [email protected]
>     <mailto:[email protected]>>
>      >     https://lists.sourceforge.net/lists/listinfo/wicket-user
>     <https://lists.sourceforge.net/lists/listinfo/wicket-user>
>      >
>      >
>      >
>      >
>     ------------------------------------------------------------------------
>      >
>      > _______________________________________________
>      > Wicket-user mailing list
>      > [email protected]
>     <mailto:[email protected]>
>      > https://lists.sourceforge.net/lists/listinfo/wicket-user
> 
> 
>     --
>     ===================================
>     Ittay Dror,
>     Chief architect, openQRM TL,
>     R&D, Qlusters Inc.
>     [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
>     +972-3-6081994 Fax: +972-3-6081841
> 
>     http://www.openQRM.org <http://www.openQRM.org>
>     - Keeps your Data-Center Up and Running
> 
> 
>     _______________________________________________
>     Wicket-user mailing list
>     [email protected]
>     <mailto:[email protected]>
>     https://lists.sourceforge.net/lists/listinfo/wicket-user
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Wicket-user mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/wicket-user


-- 
===================================
Ittay Dror, 
Chief architect, openQRM TL, 
R&D, Qlusters Inc.
[EMAIL PROTECTED]
+972-3-6081994 Fax: +972-3-6081841

http://www.openQRM.org
- Keeps your Data-Center Up and Running


_______________________________________________
Wicket-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to