Great! I'm glad you like it. Yes, you definitely can still use "normal" 
URLs and params and all that. You don't even have to match the 
@UrlBinding to the @CleanUrl if you don't want to.

VANKEISBELCK Remi wrote:
> 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
>   

-------------------------------------------------------------------------
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

Reply via email to