Remi,
I'm still wondering why anybody wants to specify multiple url
annotations at one bean? I tend to agree with Barry that just ony
URLBinding (may it be "clean" or not) annotation is enough. Other
frameworks (for example symfony) do it this way as well.
A "clean" url may not be necessary for POST requests / forms but
it's not bad either, isn't it?
cheers
Kai
--- Original Nachricht ---
Absender: VANKEISBELCK Remi
Datum: 25.05.2007 16:30
> 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
>
-------------------------------------------------------------------------
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