Maybe we can put together a wiki[1] page with rewrite rules for the various urls rendered by Click. These will be for Form, various AbstractLink subclasses and the Page template URLs.
URLRewriteFilter also includes support for a custom Java class that can be used to encapsulate these rules instead of XML. Bob [1]: https://cwiki.apache.org/confluence/display/CLICK/Index On 12/09/2010 19:34, Axel Morgner wrote: > Maybe URLRewriteFilter with something like > > <outbound-rule> > <from>/text-demo.htm\?actionLink=(.*)&(.*)</from> > <to>/text-demo/$1?$2</to> > </outbound-rule> > > works for you. > > Regards > > Axel > > Am 11.09.2010 23:46, schrieb Domain Admin: >> Can something like this be done for link generation within the pages as well? >> >> Sent from my iPhone >> >> On 11 Sep 2010, at 09:49, "Adrian A." <[email protected]> wrote: >> >>>> I am checking out click as a possible contender for some work I am >>>> doing, but I have a little query. Is it possible to have click use path >>>> based url's instead of query based ones? >>>> >>>> i.e. >>>> http://domain.com/text-demo.htm?actionLink=update >>>> >>>> becomes: >>>> >>>> http://domain.com/text-demo/update >>>> >>>> I know it's a long-shot but this would really make a difference. >>> If you use Apache HTTPD in front of your Tomcat instance, than you can >>> activate mod_rewrite to do this for you (this is how many projects do it: >>> e.g. all PHP based too). >>> For other servers there are similar modules for rewriting. >>> >>> If you use purely Java for your servers than, as Bob already answered, >>> you can use URLRewriteFilter. >>> This is already explained in the Click FAQ: >>> http://click.apache.org/docs/faq.html#alternative-extension >>> >>> If you don't want to use URLRewriteFilter, than you can do the rewriting >>> quite simply with a ServletFilter: >>> - Create a custom ServletFilter that will call an: >>> - Extended by you javax.servlet.http.HttpServletResponseWrapper >>> and a >>> javax.servlet.http.HttpServletResponseWrapper >>> In these two wrapper classes you can directly modify/manipulate the >>> URLs(and of course practically the entire request or response) at your wish. >>> >>> Adrian. >>> > > >
