yes, that would work. musachy
On Thu, Sep 24, 2009 at 7:01 PM, Alex Siman <aleksandr.si...@gmail.com> wrote: > > 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 > > -- "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