Hey Ben,
Cool !
I've just reopened my own version, and yours seems definitly better :
* you don't need another request wrapper (how could I miss the
ForwardResolution trick ? neat !)
* you don't need any action separator (use the whole prefix before
param declaration)
* you have the link tag that already works (I'm still doing ugly stuff
like <a href="/my/stuff/${blah}/foo/${bar.id}">... !!)
I'm voting for integration of your version :-)
A major question though : is the "regular" way still working ? I mean,
can you use the same action with @CleanUrl and @UrlBinding+ugly params
?
I like the fact that with the clean URLs I have, I can still use the
same beans with "ugly" urls...
See ya
Rémi
On 5/25/07, Ben Gunter <[EMAIL PROTECTED]> wrote:
> Remi, I know you have done some work on clean URLs. This is how I've
> implemented it. We can take what we like from our two implementations
> and incorporate it into Stripes.
>
> The ActionBean looks like this:
>
> @CleanUrl("/my/action/{state}/{city}")
> public class MyActionBean extends BaseActionBean {
> @Validate(required=true) private String state;
> @Validate(required=true) private String city;
>
> // ... other stuff
> }
>
>
> To create clean links to an ActionBean annotated with @CleanUrl, you
> would do this:
>
> <%@ taglib="sx" uri="http://stripes.sourceforge.net/stripes-extras.tld" %>
> <sx:clean-link beanclass="com.mycompany.stripes.action.MyActionBean">
> Atlanta, Georgia
> <s:param name="state">GA</s:param>
> <s:param name="city">Atlanta</s:param>
> </sx:clean-link>
>
> This would generate a link to /my/action/GA/Atlanta. That's pretty much
> all there is to using it.
>
> The clean links are handled by a Stripes Interceptor. At startup, it
> scans all ActionBeans for @CleanUrls and caches the mapping prefix (i.e.
> the longest literal string before the first parameter specification).
> For each request it checks to see if the URI has been mapped using
> @CleanUrl. If it does find one that matches, then it executes a
> ForwardResolution to the ActionBean's URL binding and adds the
> parameters to the forwarded request. After that it just proceeds like a
> normal request with binding, validation, and all the other good stuff.
>
> I'm still working out a couple of little kinks, but it is working well.
> I'm caching everything I can to optimize the performance.
>
> -Ben
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> Stripes-development mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/stripes-development
>
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Stripes-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-development