[ http://mc4j.org/jira/browse/STS-262?page=comments#action_10500 ] 
            
Paul Barry commented on STS-262:
--------------------------------

I think it would be great to add this.  As
James Strachan suggested in STS-268, it would be great if there is a
LifecycleStage for UrlParameter binding.  This would make CRUD-type
action beans easier to code, because you could just do this:

@UrlBinding(/user/{id})
public class UserActionBean implements ActionBean {

   private Long id;
   private User user;

   @DefaultHandler
   public Resolution get() {
       return new ForwardResolution("/WEB-INF/views/user.jsp");
   }

   public Resolution save() {

   }

   @Before(stage=LifecycleStage.UrlParameterBinding)
   public void loadUser() {
       if(id != null) {
           user = userService.get(id);
       }
   }

}

Or the safer, more verbose way:

@UrlBinding(/user/{event}/{id})
public class UserActionBean implements ActionBean {

   private Long id;
   private User user;

   public Resolution add() {
       return new ForwardResolution("/WEB-INF/views/user.jsp");
   }

   public Resolution edit() {
       return new ForwardResolution("/WEB-INF/views/user.jsp);
   }

   public Resolution create() {
       userService.create(user);
       return new RedirectResolution(SomeOtherActionBean.class);
   }

   public Resolution update() {
       userService.update(user);
       return new RedirectResolution(SomeOtherActionBean.class);
   }

   @Before(stage=LifecycleStage.UrlParameterBinding, on={"edit","update"})
   public void loadUser() {
       //Will throw exception if id is null or user is not found
       user = userService.get(id);
   }

}

To support this, will there be some kind of stripes url tag that will
allow you to generate a url to this event?  Maybe like this:

<stripes:url class="com.mycompany.stripes.UserActionBean">
 <stripes:urlParam name="id" value="${user.id}"/>
 <stripes:urlParam name="event" value="edit"/>
</stripes:url>


> Friendly URL support
> --------------------
>
>                 Key: STS-262
>                 URL: http://mc4j.org/jira/browse/STS-262
>             Project: Stripes
>          Issue Type: New Feature
>          Components: ActionBean Dispatching
>            Reporter: Tim Fennell
>         Assigned To: Tim Fennell
>             Fix For: Release 1.5
>
>
> One thing that comes up frequently is support for friendly URLs, e.g.:
>   /blog/2006/08/22
>   /user/6282/edit
> and so on.  While it's possible to acheive URLs like this using 3rd party 
> tools like UrlRewriteFilter it would be nice if they were built directly into 
> stripes because then all URL information could be kept in a single place for 
> each class.
> I'm envisaging an annotation something like this:
>     @UrlInfo("/{year}/{month}/{day}")
>     @UrlInfo("/{userId}/{event}")
> that would inform Stripes how to map the extra pieces of information encoded 
> in the URL.
> Optionally this could also be specified with the existing UrlBinding 
> annotations, e.g.
>     @UrlBinding("/blog/{year}/{month}/{day}")
> If done right, the stripes url and link tags could also take advantage of 
> this information to put certain parameters into the URL instead of a 
> parameter string.
> I'm very open to hearing alternative ideas around how to specify this, and 
> other functionality that would be desirable.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://mc4j.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Stripes-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-development

Reply via email to