I'm really a T5 novice - what i was saying is that if you do find a way to have that info in the url (nomatter how, even as query params + i'm sure it's possible), you can use that filter to completely transform the look of the urls ...
On Thu, Feb 5, 2009 at 10:56 PM, xfile80303 <l...@grokers.net> wrote: > > Thank you Andreas. > > I'm not sure I understand how this would help me with issue #2 (as defined > in my original posting). Can you enlighten me? > > Cheers, > > Levi > > > Andreas Andreou-2 wrote: >> >> An alternative is http://tuckey.org/urlrewrite/ >> And since Tapestry always calls the servlet container to encode the url, >> urlrewrite will work for both generating urls (to output in html) and >> parsing >> them (incoming) >> >> On Thu, Feb 5, 2009 at 10:31 PM, xfile80303 <l...@grokers.net> wrote: >>> >>> Hi Thiago, >>> >>> Thanks for taking the time. I believe I need to do some clarification >>> however. >>> >>> The example URL I mentioned is order specific. Meaning it would not make >>> sense to have the venu_name (or others of these URL parameters) to be at >>> the >>> end of the URL. They need to go into the URL before the page name >>> structure >>> in order to be purposeful. >>> >>> Cheers, >>> >>> Levi >>> >>> >>> Thiago H. de Paula Figueiredo wrote: >>>> >>>> Em Thu, 05 Feb 2009 14:17:32 -0300, xfile80303 <l...@grokers.net> >>>> escreveu: >>>> >>>>> Greetings all, >>>> >>>> Hello! :) >>>> >>>>> Specifically, I would like to manipulate the URLs such that I can have >>>>> "nice" RESTful style URLs which feed information into the page >>>>> ultimately >>>>> being rendered. >>>> >>>> Tapestry is incredibly RESTful, so I guess you don't have to do much to >>>> accomplish what you want. :) >>>> >>>>> For example: >>>>> /app/venue_name/en_US/category/product/UUID >>>>> where product would be the rendering page, UUID could be the activation >>>>> context (which, if I understand correctly T5 will handle already). >>>>> However, the "venue_name" and locale are not actual pages and are >>>>> simply >>>>> information which is to be gleaned from the URL and passed to the page >>>>> so it can render as specified. >>>> >>>> All you need to do is to ignore the venue_name and locale parameters. >>>> thedailytube.com, a website created by some guy in this list I always >>>> forget the name (I'm sorry . . .), does what you need in the video >>>> pages. >>>> Look at this URL: >>>> >>>> http://www.thedailytube.com/video/15794/christian-bales-freak-out-remix >>>> >>>> The video page uses the first parameter (15794) as the id of the video >>>> to >>>> be shown. The second parameter is there just for search engine purposes. >>>> Try http://www.thedailytube.com/video/15794/tapestry5rules. It gives you >>>> exactly the same page as the original URL. ;) >>>> >>>>> As other posts have suggested, it would seem to me that any >>>>> manipulation >>>>> of the URL would have to happen in such a way that Tapestry would >>>>> properly 1) parse these URL "parameters" and pass them into the system >>>>> for use by the >>>>> page, >>>> >>>> One advice is to use EventContext. It is a little hard to find in the >>>> documentation (EventContext section in >>>> http://tapestry.apache.org/tapestry5/guide/event.html), but any event >>>> handler method, including onActivate(), can have a single EventContext >>>> parameter. It provides you two methods: one with the parameter count, >>>> other that returns the value of the n-th parameter. Having an >>>> onActivate(EventContext context) method makes it really easy to deal >>>> with >>>> different parameters in the activation context, even optional >>>> parameters. >>>> >>>> >>>> >>>> and 2) understand these "parameters" would need to be in Tapestry >>>>> generated links to preserve this data from link to link (page to page). >>>> >>>>> There has been mention of using a RequestFilter or a Dispatcher to do >>>>> this, but I have two concerns with this: 1) I am not sure how I would >>>>> modify the Request (at all?) so Tapestry internals would find the page >>>>> to render >>>>> (remove the venu_name and locale parameters and let Tapestry locate the >>>>> category/product page) >>>> >>>> As stated above, you don't need to change the request, just ignore the >>>> parameters you don't need. >>>> >>>>> 2) Even if I was able to modify the Request, how >>>>> would I accomplish #2 above, so generated links would contain this >>>>> data? >>>> >>>> That's the hard part here. One solution is to remember to add the >>>> parameters in the context of all PageLinks. Remember: the activation >>>> context can have parameters that will be ignored. In this case, the >>>> activation context would be a List, not a single value Most examples use >>>> an id as the activation context, but that's not the only way to do it. A >>>> more automated solution could be the decoration of the LinkFactory >>>> service >>>> to automatically add the parameters. I haven't tested it, though. >>>> >>>> -- >>>> Thiago H. de Paula Figueiredo >>>> Independent Java consultant, developer, and instructor >>>> http://www.arsmachina.com.br/thiago >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >>>> For additional commands, e-mail: users-h...@tapestry.apache.org >>>> >>>> >>>> >>> >>> -- >>> View this message in context: >>> http://n2.nabble.com/-T5--URL-Manipulation-tp2276010p2277094.html >>> Sent from the Tapestry Users mailing list archive at Nabble.com. >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >>> For additional commands, e-mail: users-h...@tapestry.apache.org >>> >>> >> >> >> >> -- >> Andreas Andreou - andy...@apache.org - http://blog.andyhot.gr >> Tapestry / Tacos developer >> Open Source / JEE Consulting >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> For additional commands, e-mail: users-h...@tapestry.apache.org >> >> >> > > -- > View this message in context: > http://n2.nabble.com/-T5--URL-Manipulation-tp2276010p2277221.html > Sent from the Tapestry Users mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > > -- Andreas Andreou - andy...@apache.org - http://blog.andyhot.gr Tapestry / Tacos developer Open Source / JEE Consulting --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org