struts-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Don Brown" <>
Subject Re: SmartURLs (fork of s2: problem with codebehind plugin)
Date Wed, 12 Sep 2007 00:20:19 GMT
On 9/11/07, Brian Pontarelli <> wrote:
> >  * Would it be possible to support ReST-style parameters (which I
> > believe are also SEO-preferred), so that
> > "hello-world/save?message=Howdy" could be expressed
> > "hello-world/save/message/Howdy".
> >
> We could give it a shot. This is more of an ActionMapper concept than a
> smart URLs constraint. We could make a SmartURLs mapper that handles those.

The Rest action mappers already handle this, so it would be worth
taking a look how they do it.
> >    ** Something like "hello-world/save/+/message/Howdy" might work as
> > well, if including a parameter-start flag would simplify the code. (It
> > might simplify things for the developer too!)
> >
> Might. I've never made a mapper, so I would need to try before I knew
> exactly how easy or hard it was. I would imagine that a separator would
> simplify things a lot though.

Yeah, take a look at the rest mappers.  I'd rather not use something
like a separation character.  If rails can do it in a nice clean way,
so can we.

> >  * Should we look for .html after .jsp, .ftl, .vm? Is the extension
> > list configurable?
> >
> This isn't currently configurable because it requires knowing the result
> type that handles the specific extension. e.g. the FreeMarkerResult
> handles *.ftl. We could have a JSON style configuration for it though:
> {'ftl': 'freemarker', 'vm': 'velocity', ...}
> I'd be up for that. OGNL would also work since it is the Struts standard
> for that kinda thing. We could just send the value to OGNL and get the
> Map<String, String> back.

This could be extendable actually by other plugins.  Take a look how
template engines are loaded.  The manager class gets the Container
injected, then it looks for all implementations of a given interface,
using the alias as the implementation name.


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message