Selon Francisco Hernandez <[EMAIL PROTECTED]>:

> does the CoolUriDispatcher handle passing arrays like when using 
> multiple checkboxes or multiple selected select tags?

Nope.
It splits the URL on '/' delimiters. It then decides whether the token is the
name of the action to execute, the parameter name or the parameter value.

> also whats going to happen if you have a textfield that its value is 
> "03/17/1990"

This will clearly fail! I am wondering though if the CoolURIServletDispatcher
should be used with such a kind of parameter values. For example if you would
like to display articles published on 03/17/1990, you should instead stick to
this kind of URL: http://myhost.com/1990/03/17 . Why? Simply because one would
expect http://myhost.com/1990/03 to display the articles from this months and so
on...

> also I think a CoolUrlTag would make sense to have aswell to write out 
> the Urls just like <ww:url> does now but in the new Cool format

As I said, I am not sure this is really needed. After all, Cool URIs are meant
to be at least URIs that would stay and not change when the site
organization/content/technology change. So why would you like to dynamically
build those URLs? I mean what would you expect the CoolUrlTag to do that you
can't do with the <ww:url> one?

Jérôme.

> Jérôme BERNARD wrote:
> > Hi Cameron,
> > 
> > The more I think about the CoolURIServletDispatcher, the more I think it is
> too
> > much limited. For example I changed the abbreviation syntax from:
> > http://myhost.com/article/paramValue1 to
> > http://myhost.com/article/articleID/paramValue1 instead of
> > http://myhost.com/article/article/paramValue1 .
> > 
> > Why?
> > 
> > Simply because most of the time your action are written that way:
> > 
> > public class LoadArticleAction extends ActionSupport {  
> >   long articleID;
> >   Article article;
> >   // getter & setter for the above members
> >   // other methods omitted...
> > }
> > 
> > If you use a parameter named "article" (by using the same parameter name as
> the
> > one from the action) then you will need to use weird method names in order
> to
> > retreive the real object linked to this id.
> > 
> > Anyway, I think we should write a custom ServletDispatcher that reads
> advanced
> > mapping configuration from another xml file (or perhaps extends
> webwork.xml?).
> > 
> > This file could allow to use the sheme explained above but also deal with
> URL
> > including dates (like http://myhost.com/2003/10/02).
> > 
> > What do you think about this?
> > 
> > Jérôme.
> > 
> > Selon Cameron Braid <[EMAIL PROTECTED]>:
> > 
> > 
> >>I have madea  patch to the servlet dispatcher to allow for extensability
> >>:
> >>
> >>the methods that can be overriden are
> >>
> >>protected void sendError(HttpServletRequest request, HttpServletResponse
> >>response, int code, Exception e)
> >>protected Map getParameterMap(HttpServletRequest request)
> >>protected Map getSessionMap(HttpServletRequest request)
> >>protected Map getApplicationMap()
> >>protected String getActionName(HttpServletRequest request)
> >>protected String getNameSpace(HttpServletRequest request)
> >>
> >>this will allow for the core logic in the service method to be re-used
> >>from custom servlet based dispatchers, allowing a custom URL and
> >>parameter mapping scheme to be implemented.
> >>
> >>
> >>Pat / Jason / Others : do we want to include the
> >>CoolUriServletDispatcher in the core ?
> >>
> >>If so, I will modify it to extend the new ServletDispatcher.
> >>
> >>
> >>
> >>>-----Original Message-----
> >>>From: [EMAIL PROTECTED] 
> >>>[mailto:[EMAIL PROTECTED] On 
> >>>Behalf Of Jerome BERNARD
> >>>Sent: Tuesday, 30 September 2003 4:06 AM
> >>>To: [EMAIL PROTECTED]
> >>>Subject: Re: [OS-webwork] Advanced URL mapping?
> >>>
> >>>
> >>>Hum... I should have a closer look at IDEA then :-)
> >>>Jérôme.
> >>>
> >>>Cameron Braid wrote:
> >>>
> >>>
> >>>>What IDE do you use ?
> >>>>
> >>>>Eclispe can automatically create delegator calls for you, 
> >>>
> >>>which makes 
> >>>
> >>>>tasks like that a piece of cake.
> >>>>
> >>>>Cam
> >>>>
> >>>> 
> >>>>
> >>>>
> >>>>>-----Original Message-----
> >>>>>From: [EMAIL PROTECTED]
> >>>>>[mailto:[EMAIL PROTECTED] On 
> >>>>>Behalf Of Jerome BERNARD
> >>>>>Sent: Monday, 29 September 2003 7:26 PM
> >>>>>To: [EMAIL PROTECTED]
> >>>>>Subject: Re: [OS-webwork] Advanced URL mapping?
> >>>>>
> >>>>>
> >>>>>Cameron Braid wrote:
> >>>>>
> >>>>>   
> >>>>>
> >>>>>
> >>>>>>Cool idea :)
> >>>>>>
> >>>>>>Though, for the implementaion, wouldn't you have been better
> >>>>>>     
> >>>>>>
> >>>>>
> >>>>>to use the
> >>>>>   
> >>>>>
> >>>>>
> >>>>>>wrapper pattern, rather than dynamic proxies :)
> >>>>>>
> >>>>>>     
> >>>>>>
> >>>>>
> >>>>>Sure. I thought about it, but it's quite painful: you have to
> >>>>>override 
> >>>>>so many methods :-(
> >>>>>
> >>>>>I'll do it tomorrow and update the attachment in the JIRA issue.
> >>>>>
> >>>>>Jérôme.
> >>>>>
> >>>>>   
> >>>>>
> >>>>>
> >>>>>>Cam
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>     
> >>>>>>
> >>>>>>
> >>>>>>>-----Original Message-----
> >>>>>>>From: [EMAIL PROTECTED]
> >>>>>>>[mailto:[EMAIL PROTECTED] On
> >>>>>>>Behalf Of Jérôme BERNARD
> >>>>>>>Sent: Tuesday, 30 September 2003 1:30 AM
> >>>>>>>To: [EMAIL PROTECTED]
> >>>>>>>Subject: RE: [OS-webwork] Advanced URL mapping?
> >>>>>>>
> >>>>>>>
> >>>>>>>I have created a new issue in JIRA
> >>>>>>>(http://jira.opensymphony.com/secure/ViewIssue.jspa?key=WW-326
> >>>>>>>) and submitted a new servlet that extends ServletDispatcher
> >>>>>>>and provides such a functionality. I also provided a way to 
> >>>>>>>shorten even more the URL by assuming that if the first 
> >>>>>>>parameter name is not specified then it is supposed to be the 
> >>>>>>>name of the action.
> >>>>>>>
> >>>>>>>This allows to replace the following URL 
> >>>>>>>http://myhost.com/article/article/123
> >>>>>>>with this URL http://myhost.com/article/123.
> >>>>>>>
> >>>>>>>Any code review welcomed! :-p
> >>>>>>>
> >>>>>>>Jérôme.
> >>>>>>>
> >>>>>>>Robert Douglass <[EMAIL PROTECTED]>:
> >>>>>>>
> >>>>>>>  
> >>>>>>>
> >>>>>>>       
> >>>>>>>
> >>>>>>>
> >>>>>>>>I think this is the relevant code, from 
> >>>>>>>>org.apache.turbine.util.parser.DefaultParameterParser. As I
> >>>>>>>>    
> >>>>>>>>
> >>>>>>>>         
> >>>>>>>>
> >>>>>>>
> >>>>>>>understand
> >>>>>>>  
> >>>>>>>
> >>>>>>>       
> >>>>>>>
> >>>>>>>
> >>>>>>>>it, Turbine folks avoid URLs like foo/bar?id=1812 in favor of 
> >>>>>>>>foo/bar/id/1812. I've never used this, and I can't remember
> >>>>>>>>    
> >>>>>>>>
> >>>>>>>>         
> >>>>>>>>
> >>>>>>>
> >>>>>>>right off
> >>>>>>>  
> >>>>>>>
> >>>>>>>       
> >>>>>>>
> >>>>>>>
> >>>>>>>>exactly how the servlet container knows which part is the
> >>>>>>>>    
> >>>>>>>>
> >>>>>>>>         
> >>>>>>>>
> >>>>>>>
> >>>>>>>path info,
> >>>>>>>  
> >>>>>>>
> >>>>>>>       
> >>>>>>>
> >>>>>>>
> >>>>>>>>but essentially, they assume that the path info follows 
> >>>
> >>>the pattern 
> >>>
> >>>>>>>>name_1/value_1/...name_n/value_n. The advantage is 
> >>>
> >>>supposed to be 
> >>>
> >>>>>>>>search-engine friendly URLs from completely dynamic
> >>>>>>>>    
> >>>>>>>>
> >>>>>>>>         
> >>>>>>>>
> >>>>>>>
> >>>>>>>applications. This
> >>>>>>>  
> >>>>>>>
> >>>>>>>       
> >>>>>>>
> >>>>>>>
> >>>>>>>>gets touted by the Turbine community as a great feature 
> >>>
> >>>(and it may 
> >>>
> >>>>>>>>be). I'd love to have this available, but as you can see
> >>>>>>>>    
> >>>>>>>>
> >>>>>>>>         
> >>>>>>>>
> >>>>>>>
> >>>>>>>below, it is
> >>>>>>>  
> >>>>>>>
> >>>>>>>       
> >>>>>>>
> >>>>>>>
> >>>>>>>>easy enough to implement that anyone can do it as soon 
> >>>
> >>>as they want 
> >>>
> >>>>>>>>it. I don't really need it at the moment, so I'll let
> >>>>>>>>    
> >>>>>>>>
> >>>>>>>>         
> >>>>>>>>
> >>>>>>>
> >>>>>>>someone else do
> >>>>>>>  
> >>>>>>>
> >>>>>>>       
> >>>>>>>
> >>>>>>>
> >>>>>>>>it.
> >>>>>>>>
> >>>>>>>>-Robert
> >>>>>>>>
> >>>>>>>>// Also cache any pathinfo variables that are passed around as
> >>>>>>>>      // if they are query string data.
> >>>>>>>>      try
> >>>>>>>>      {
> >>>>>>>>          StringTokenizer st =
> >>>>>>>>                  new
> >>>>>>>>         
> >>>>>>>>
> >>>>>
> >>>>>StringTokenizer(request.getPathInfo(), "/");
> >>>>>   
> >>>>>
> >>>>>
> >>>>>>>>          boolean isNameTok = true;
> >>>>>>>>          String pathPart = null;
> >>>>>>>>          while (st.hasMoreTokens())
> >>>>>>>>          {
> >>>>>>>>              if (isNameTok)
> >>>>>>>>              {
> >>>>>>>>                  tmp =
> >>>>>>>>    
> >>>>>>>>
> >>>>>>>>         
> >>>>>>>>
> >>>>>>>
> >>>>>>>java.net.URLDecoder.decode(st.nextToken());
> >>>>>>>  
> >>>>>>>
> >>>>>>>       
> >>>>>>>
> >>>>>>>
> >>>>>>>>                  isNameTok = false;
> >>>>>>>>              }
> >>>>>>>>              else
> >>>>>>>>              {
> >>>>>>>>                  pathPart =
> >>>>>>>>    
> >>>>>>>>
> >>>>>>>>         
> >>>>>>>>
> >>>>>>>
> >>>>>>>java.net.URLDecoder.decode(st.nextToken());
> >>>>>>>  
> >>>>>>>
> >>>>>>>       
> >>>>>>>
> >>>>>>>
> >>>>>>>>                  if (tmp.length() > 0)
> >>>>>>>>                  {
> >>>>>>>>                      add(convert(tmp), pathPart); //R.D.
> >>>>>>>>    
> >>>>>>>>
> >>>>>>>>         
> >>>>>>>>
> >>>>>>>
> >>>>>>>this add
> >>>>>>>  
> >>>>>>>
> >>>>>>>       
> >>>>>>>
> >>>>>>>
> >>>>>>>>the params to their internal param implementation, see below*
> >>>>>>>>                  }
> >>>>>>>>                  isNameTok = true;
> >>>>>>>>              }
> >>>>>>>>          }
> >>>>>>>>      }
> >>>>>>>>      catch (Exception e)
> >>>>>>>>      {
> >>>>>>>>          // If anything goes wrong above, don't worry about it.
> >>>>>>>>          // Chances are that the path info was wrong 
> >>>
> >>>anyways and
> >>>
> >>>>>>>>          // things that depend on it being right will 
> >>>
> >>>fail later
> >>>
> >>>>>>>>          // and should be caught later.
> >>>>>>>>      }
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>* from super-class BaseValueParser
> >>>>>>>>/**
> >>>>>>>>   * Random access storage for parameter data.  The keys
> >>>>>>>>    
> >>>>>>>>
> >>>>>>>>         
> >>>>>>>>
> >>>>>>>
> >>>>>>>must always be
> >>>>>>>  
> >>>>>>>
> >>>>>>>       
> >>>>>>>
> >>>>>>>
> >>>>>>>>   * Strings.  The values will be arrays of Strings.
> >>>>>>>>   */
> >>>>>>>>  private Map parameters = new HashMap();
> >>>>>>>>
> >>>>>>>>-----Original Message-----
> >>>>>>>>From: [EMAIL PROTECTED]
> >>>>>>>>[mailto:[EMAIL PROTECTED]
> >>>>>>>>    
> >>>>>>>>
> >>>>>>>>         
> >>>>>>>>
> >>>>>>>
> >>>>>>>Behalf Of
> >>>>>>>  
> >>>>>>>
> >>>>>>>       
> >>>>>>>
> >>>>>>>
> >>>>>>>>Jerome BERNARD
> >>>>>>>>Sent: Sunday, September 28, 2003 9:51 PM
> >>>>>>>>To: [EMAIL PROTECTED]
> >>>>>>>>Subject: Re: [OS-webwork] Advanced URL mapping?
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>Could you give some insights about the way Turbine 
> >>>
> >>>handle URLs? Any 
> >>>
> >>>>>>>>pointers?
> >>>>>>>>
> >>>>>>>>Jérôme.
> >>>>>>>>         
> >>>>>>>>
> >>>
> >>>
> >>>
> >>>-------------------------------------------------------
> >>>This sf.net email is sponsored by:ThinkGeek
> >>>Welcome to geek heaven.
> >>>http://thinkgeek.com/sf 
> >>>_______________________________________________
> >>>Opensymphony-webwork mailing list 
> >>>[EMAIL PROTECTED]
> >>>https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork
> >>>
> >>
> >>
> >>
> >>
> >>-------------------------------------------------------
> >>This sf.net email is sponsored by:ThinkGeek
> >>Welcome to geek heaven.
> >>http://thinkgeek.com/sf
> >>_______________________________________________
> >>Opensymphony-webwork mailing list
> >>[EMAIL PROTECTED]
> >>https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork
> >>
> > 
> > 
> > 
> > 
> > 
> > -------------------------------------------------------
> > This sf.net email is sponsored by:ThinkGeek
> > Welcome to geek heaven.
> > http://thinkgeek.com/sf
> > _______________________________________________
> > Opensymphony-webwork mailing list
> > [EMAIL PROTECTED]
> > https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork
> > 
> > 
> > 
> 
> 
> 
> 
> 
> -------------------------------------------------------
> This sf.net email is sponsored by:ThinkGeek
> Welcome to geek heaven.
> http://thinkgeek.com/sf
> _______________________________________________
> Opensymphony-webwork mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork
> 




-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork

Reply via email to