Hey Barry,

Well, it's only an additional feature : the existing @UrlBinding +
everything related is already fine and we don't want to change that.
The "beanclass" stuff would just use either @UrlBinding or @CleanUrl,
depending on what you ask,, e.g. :
<s:form beanclass="..."> -> uses regular UrlBinding as FORMs usually
don't need to be "clean"
<s:link beanclass="..."> -> uses CleanUrl as links are supposed to be
clean if the bean class has the @CleanUrl annotation, unless you
specify e.g. clean="false".

IMHO, adding this to the existing @UrlBinding, it would make the
annotation more complex, without being really more convenient :

@UrlBinding(value="/my/stuff.action", clean="/my/stuff/{p1}/...")
or
@UrlBinding("/my/stuff.action")
@CleanUrl("/my/stuff/{p1}/...")

The second option looks more readable and expressive to me... And once
again @CleanUrl is a feature you want to add to your action bean, so
having it as a separate annotation is OK as far as I see. Annotate to
add features, that sticks to the Stripes spirit if I'm right :-)

Cheers

Remi

On 5/25/07, Barry Davies <[EMAIL PROTECTED]> wrote:
>
> All these ideas are making me very much look forward to using this
> feature--the ideas seem very promising.  My knee-jerk responses would be to
> want classic-urls and clean-urls to both be configured using @UrlBinding.
> Can you have multiple @UrlBinding annotations for a single ActionBean right
> now?  I thought you couldn't so that a beanclass uniquely implies a URL in
> all cases.  If we're going to change the thinking behind that, we might as
> well go whole-hog and allow any number of classic-url or clean-url bindings,
> with one being the default and the others being able to be selected by name,
> or some such.  What do you guys think?
>
> -BD aka RJ
>
>
> ----- Original Message ----
> From: VANKEISBELCK Remi <[EMAIL PROTECTED]>
> To: Tim Fennell <[EMAIL PROTECTED]>
> Cc: Stripes Development List
> <[email protected]>
> Sent: Friday, May 25, 2007 8:53:35 AM
> Subject: Re: [Stripes-dev] clean URLs
>
> As far as I see it, an additional annotation is OK. It's a specific
> feature that you add to your action bean, so it's worth it IMO.
>
> On the other hand, I second Tim's point on s:link/url. Another tag
> isn't necessary (and could be confusing), and I think we can rework
> the existign tags so that they handle this.
> You would then write your links and urls the same way, and configure
> which method you prefer as an attribute or as a global configuration
> setting.
>
> <s:link beanclass=".." clean="true">  // throws exception if bean
> doesn't have @CleanUrl
>   my stuff
>   <s:link param .../>
> </s:link>
>
> What do you think ?
>
> Cheers
>
> Remi
>
> On 5/25/07, Tim Fennell <[EMAIL PROTECTED]> wrote:
> > Hey Guys,
> >
> > Ben: I very much like your approach.  The only thing I'll say is that
> > having different annotations and link tags makes sense for an add-on,
> > but when we integrate this to the core - I'd love to see this "just
> > work" with s:link and s:url.  The annotation - maybe it does make
> > sense to keep that separate?  I'm probably not the best judge of how
> > people will want to use this stuff ;)
> >
> > -t
> >
> > On May 25, 2007, at 9:46 AM, Ben Gunter wrote:
> >
> > > 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
> >
> >
>
> -------------------------------------------------------------------------
> 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
>
>
>  ________________________________
> Need Mail bonding?
> Go to the Yahoo! Mail Q&A for great tips from Yahoo! Answers users.

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