Very useful feature! It's SEO friendly and reduces/eliminates using of UrlRewriteFilter.
Is this code correct?: @Results({ @Result( name = Action.SUCCESS, location = "{2}.jsp" ) }) class TestAction { String bio, name; @Action("/{bio:.+}/test/{name}/.*") public void execute() {...} } Musachy Barroso wrote: > > meh, this one didn't put up much of a fight :). With these set > ("regex" alternative implementation of patternMatcher): > > <constant name="struts.enable.SlashesInActionNames" value="true"/> > <constant name="struts.mapper.alwaysSelectFullNamespace" value="false"/> > <constant name="struts.patternMatcher" value="regex" /> > > I can do this: > > <package name="regex" extends="struts-default" namespace="/"> > <action name="/{bio:.+}/test/{name}/.*" > class="org.apache.struts2.showcase.UITagExample"> > <result>/tags/ui/example.jsp</result> > </action> > </package> > > calling "/WorldDomination/test/LexLuthor" will set "bio" to > "WorldDomination" and "name" to "LexLuthor". The regular expressions > can be simple, like {name} or they can define the field name and the > regex like "{name:some_reg_ex_here}". The notation {X} still works, so > this can be done: > > <result>/tags/ui/{2}.jsp</result> > > Idea shamelessly copied from JAX-RS, I will commit it later when I > have more tests in place. > > musachy > > On Thu, Sep 24, 2009 at 2:19 PM, Musachy Barroso <musa...@gmail.com> > wrote: >> I find that using parameters in urls is confusing in struts, and there >> are just too many (and not compatible) ways of doing it, for example, >> if you want to have parameters in front of the action name, like >> >> /something/param1/param2/ActionName >> >> you would have to use the "namedVariable" action mapper, but then, you >> cannot have parameters after the action name ("ActionName"). If you >> want to have parameters after the action name, then you can use >> wildcards, and do something like: >> >> <package name="edit" extends="struts-default" namespace="/edit"> >> <action name="/person/*" >> class="org.apache.struts.webapp.example.EditAction"> >> {1} >> <result>/mainMenu.jsp</result> >> </action> >> </package> >> >> And maybe, you can mix them, but I haven't tried that. I find all this >> very confusing and hard to understand. I would like to do this: >> >> class MyAction { >> String param1, param2, param3; >> >> �...@action("/{param1}/{param2}/MyAction/{param3}") >> public void execute() {....} >> } >> >> and the framework should figure out the rest for me. I don't think >> this would be that hard to implement and should provide an unified way >> of handling these type of urls. Thoughts? >> >> musachy >> -- >> "Hey you! Would you help me to carry the stone?" Pink Floyd >> > > > > -- > "Hey you! Would you help me to carry the stone?" Pink Floyd > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org > For additional commands, e-mail: dev-h...@struts.apache.org > > > -- View this message in context: http://www.nabble.com/parameters-in-url-tp25602877p25605180.html Sent from the Struts - Dev mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org For additional commands, e-mail: dev-h...@struts.apache.org