None. :) But I assume aesthetics is a big motivating factor for 'clean' urls.
Personally I don't have a very strong preference for clean urls vs urls with query string parameters. But if I have to go the clean urls route, I would like to go all the way. I hope I don't sound like I am arguing or nitpicking. I am just trying to figure out how the clean url feature works and to get it working as I expect. Thanks, Akbar On Sun, Aug 10, 2008 at 5:22 PM, Gregg Bolinger <[EMAIL PROTECTED]> wrote: > Other than aesthetics, what is the importance of keeping the event on > the URL? > > Gregg > > Akbar Ibrahim wrote: >> To generalize this discussion, suppose I have a FooAction which does >> CRUD operations with Foo objects and that it is bound to /foo >> >> I would have urls like >> >> /foo/list >> /foo/view/{id} >> /foo/new >> /foo/edit/{id} >> /foo/save >> /foo/delete/{id} >> >> In the case of '/foo/save', the form tag will generate the url '/foo' >> (save will be the name on the submit tag). Any validation errors will >> cause the browser to show /foo as the url and not /foo/save. >> >> I don't see any way of getting around this >> >> Any thoughts? >> >> Thanks, >> Akbar >> >> >> >> >> >> On Sun, Aug 10, 2008 at 4:28 PM, Gregg Bolinger >> <[EMAIL PROTECTED]> wrote: >> >>> Ah, I see the difference now. You are correct. You will get a >>> truncated URL because of the event being left off. Your action bean >>> could handle other events than just signIn but you would always have >>> signIn in the URL. So you might have: >>> >>> /security/user/signIn/register >>> >>> Which does look odd. >>> >>> Gregg >>> >>> Akbar Ibrahim wrote: >>> >>>> Gregg, >>>> >>>> Ah, now I get why it didn't work for me as I expected. >>>> >>>> Your action bean is bound to /action/login and the event to display >>>> the login form is called 'display' which doesn't show up anywhere in >>>> the url. The url in the browser is the binding url of the action bean >>>> which is what's shown in case of validatoin errors. >>>> >>>> Whereas in my case, the action bean is bound to /security/user. >>>> >>>> - The url /security/user/signIn invokes the signIn method and >>>> forwards to the signIn view. >>>> >>>> - The form submits to action /security/user using the following submit tag >>>> >>>> <s:submit name="doSignIn" /> >>>> >>>> - On validation errors the browser shows /security/user whereas I was >>>> expecting /security/user/signIn >>>> >>>> I could bind my action bean to /security/user/signIn to achieve this, >>>> but it wouldn't work if I want my action bean to handle events other >>>> than signIn. >>>> >>>> Thanks, >>>> Akbar >>>> >>>> >>>> >>>> >>>> On Sun, Aug 10, 2008 at 4:06 PM, Gregg Bolinger >>>> <[EMAIL PROTECTED]> wrote: >>>> >>>> >>>>> Here is my entire login class. It does, including the URL, exactly what >>>>> you want except mine said login instead of signIn: >>>>> >>>>> @UrlBinding("/action/login") >>>>> public class LoginActionBean extends BaseActionBean { >>>>> >>>>> @ValidateNestedProperties({ >>>>> @Validate(field = "username", required = true), >>>>> @Validate(field = "password", required = true) >>>>> }) >>>>> private FeedUser user; >>>>> >>>>> private FeedUserService feedUserService; >>>>> >>>>> public FeedUser getUser() { >>>>> return user; >>>>> } >>>>> >>>>> public void setUser(FeedUser user) { >>>>> this.user = user; >>>>> } >>>>> >>>>> @SpringBean("feedUserService") >>>>> public void setFeedUserService(FeedUserService feedUserService) { >>>>> this.feedUserService = feedUserService; >>>>> } >>>>> >>>>> @Override >>>>> public Resolution display() { >>>>> return new ForwardResolution(LOGIN_VIEW); >>>>> } >>>>> >>>>> public Resolution login() { >>>>> final FeedUser fu = feedUserService.authenticateFeedUser(user); >>>>> if (fu == null) { >>>>> getContext().getValidationErrors().add("login", new >>>>> LocalizableError("/action/login.invalid")); >>>>> return getContext().getSourcePageResolution(); >>>>> }else{ >>>>> getContext().setFeedUser(fu); >>>>> return new RedirectResolution(HomeActionBean.class); >>>>> } >>>>> } >>>>> } >>>>> >>>>> Gregg >>>>> >>>>> Akbar Ibrahim wrote: >>>>> >>>>> >>>>>> Gregg, Levi, >>>>>> >>>>>> Thanks for the quick responses. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> "If a submit causes validation errors, the browser's title bar will show >>>>>>> the POST generated URL. (This can be worked around by *always* >>>>>>> redirecting after posts, as I once had to do on a previous project, but >>>>>>> that's a lot of effort for a small gain.)" >>>>>>> >>>>>>> "small gain" depends on the requirements, doesn't it? So if my client >>>>>>> wants that then the gain is substantial. Anyway, you can get the URL's >>>>>>> you desire by following my suggestions. >>>>>>> >>>>>>> >>>>>>> >>>>>> After sending my first mail I was thinking that the user is never >>>>>> going to see a POST url as I would always (ideally) be redirecting >>>>>> after POST. But (as Levi too pointed out) when validation errors >>>>>> occur, the browser shows the action bean's url. >>>>>> >>>>>> Now I am not sure if that's a big issue (for my app, not with >>>>>> Stripes). But I was just wondering if there's any way to get around >>>>>> it. >>>>>> >>>>>> Thanks, >>>>>> Akbar >>>>>> >>>>>> ------------------------------------------------------------------------- >>>>>> This SF.Net email is sponsored by the Moblin Your Move Developer's >>>>>> challenge >>>>>> Build the coolest Linux based applications with Moblin SDK & win great >>>>>> prizes >>>>>> Grand prize is a trip for two to an Open Source event anywhere in the >>>>>> world >>>>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >>>>>> _______________________________________________ >>>>>> Stripes-users mailing list >>>>>> Stripes-users@lists.sourceforge.net >>>>>> https://lists.sourceforge.net/lists/listinfo/stripes-users >>>>>> >>>>>> >>>>>> >>>>> ------------------------------------------------------------------------- >>>>> This SF.Net email is sponsored by the Moblin Your Move Developer's >>>>> challenge >>>>> Build the coolest Linux based applications with Moblin SDK & win great >>>>> prizes >>>>> Grand prize is a trip for two to an Open Source event anywhere in the >>>>> world >>>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >>>>> _______________________________________________ >>>>> Stripes-users mailing list >>>>> Stripes-users@lists.sourceforge.net >>>>> https://lists.sourceforge.net/lists/listinfo/stripes-users >>>>> >>>>> >>>>> >>>> ------------------------------------------------------------------------- >>>> This SF.Net email is sponsored by the Moblin Your Move Developer's >>>> challenge >>>> Build the coolest Linux based applications with Moblin SDK & win great >>>> prizes >>>> Grand prize is a trip for two to an Open Source event anywhere in the world >>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >>>> _______________________________________________ >>>> Stripes-users mailing list >>>> Stripes-users@lists.sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/stripes-users >>>> >>>> >>> ------------------------------------------------------------------------- >>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge >>> Build the coolest Linux based applications with Moblin SDK & win great >>> prizes >>> Grand prize is a trip for two to an Open Source event anywhere in the world >>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >>> _______________________________________________ >>> Stripes-users mailing list >>> Stripes-users@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/stripes-users >>> >>> >> >> ------------------------------------------------------------------------- >> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge >> Build the coolest Linux based applications with Moblin SDK & win great prizes >> Grand prize is a trip for two to an Open Source event anywhere in the world >> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >> _______________________________________________ >> Stripes-users mailing list >> Stripes-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/stripes-users >> > > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Stripes-users mailing list > Stripes-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/stripes-users > ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Stripes-users mailing list Stripes-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/stripes-users