Howdy, Remi. I'm also thinking of the RedirectResolution( SomeAction.class )
case of URL Building, where at least in my opinion, it's less fun to be
selecting which URL style you want. If we're going to have multiple, we
probably want one to be default just so we don't have to specify in every case.
And if we're going to have multiple URL binding with one as default, we might
as well go whole-hog and allow any number of any style, then the world is your
oyster, so to speak. I still think it's fairly nice and powerful to only allow
a single way--just one @UrlBinding that either specifies the classic or clean
manner and have that used everywhere. This is a case where none of the choices
seems BAD, just varying shades of good.
-BD aka RJ
----- Original Message ----
From: VANKEISBELCK Remi <[EMAIL PROTECTED]>
To: Barry Davies <[EMAIL PROTECTED]>
Cc: Tim Fennell <[EMAIL PROTECTED]>; Stripes Development List
<[email protected]>
Sent: Friday, May 25, 2007 9:30:10 AM
Subject: Re: [Stripes-dev] clean URLs
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.
____________________________________________________________________________________Be
a better Globetrotter. Get better travel answers from someone who knows.
Yahoo! Answers - Check it out.
http://answers.yahoo.com/dir/?link=list&sid=396545469-------------------------------------------------------------------------
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