Hi Christian,

If you are just looking to change incoming legacy requests and don't
care about URLs once the user has entered the system, have a look at:

Url Rewrite Filter - http://tuckey.org/urlrewrite/

It's a servlet filter than alters the URL before Tapestry sees it,
allowing you to convert legacy URLs into T5 friendly ones. It supports
Forwards & Redirects, regex and wildcards and I think even lets you
run java code for more complicated transformations.

Steve.
--
Steve Eynon
mobie: (+592) 678 4236



On 4 May 2010 06:08, Christian Riedel <cr.ml...@googlemail.com> wrote:
> Hm... but how should I change the outbound links?
> When I change the inbound request "/legacy.do?show=page" to "/user/page" the 
> outbound links will be "/user/anotherPage" or similar (according to my 
> debugger, while debugging the outbound filter). They are OK, I don't want the 
> user to see the links that are written in the legacy url form, so I don't 
> change them to another format.
> Then the RequestPathOptimizer touches and "breaks" the links. In the outbound 
> filter links to the other pages are like "/user/anotherPage" but the 
> optimizer strips everything in front of the last slash so in the end the 
> result is "/anotherPage".
>
> I cannot perform redirects with the URLRewriter (to change the url in the 
> browser to the rewritten one) and I don't know how to circumvent the 
> RequestPathOptimizer just for those legacy urls. What can I do in the 
> outbound filter so that the user can access the application via a legacy url 
> and gets proper links that are not in the legacy-application's format?
>
> Maybe it's a bug or a new feature, I could open a JIRA if you also can't see 
> a solution :)
>
> Best regards,
> Christian
>
>
> Am 04.05.2010 um 00:34 schrieb Thiago H. de Paula Figueiredo:
>
>> On Fri, 30 Apr 2010 12:20:09 -0300, Christian Riedel 
>> <cr.ml...@googlemail.com> wrote:
>>
>>> Hi list,
>>
>> Hi!
>>
>>> Now Tapestry generates all links optimized to the rewritten URL, so there 
>>> might be links to "http://app/page.component:event/smb";, which does not 
>>> exist... Also, locales will not be encoded into links because Tapestry 
>>> expects them to be there.
>>
>> When using URL rewriting, almost all the time you have an inbound rule you 
>> must write a correspondent outbound one.
>>
>> --
>> Thiago H. de Paula Figueiredo
>> Independent Java, Apache Tapestry 5 and Hibernate consultant, developer, and 
>> instructor
>> Owner, Ars Machina Tecnologia da Informação Ltda.
>> http://www.arsmachina.com.br
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to