You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Mo Be (Created) (JIRA)" <ji...@apache.org> on 2012/03/23 14:07:29 UTC
[jira] [Created] (WW-3784) Greedy and non-greedy matching behaviour
should work in action methods using annotated wildcards
Greedy and non-greedy matching behaviour should work in action methods using annotated wildcards
-------------------------------------------------------------------------------------------------
Key: WW-3784
URL: https://issues.apache.org/jira/browse/WW-3784
Project: Struts 2
Issue Type: Bug
Components: Core Actions
Affects Versions: 2.3.1.2
Environment: Win XP, Linux / JDK 7 (Oracle)
Reporter: Mo Be
@Namespace("/do")
public class CRUDAction {
/* [1] specific wildcard */
@Override @Action(value="some/usefull/{stuff}",results={@Result(location = "result.jsp")})
public String execute() throws Exception {...}
/* [2] less specific wildcard */
@Override @Action(value="some/{stuff}", results={@Result(location ="result.jsp")})
public String input() throws Exception {...} }
Currently pattern [2] due to greedy natching catches every "/do/some/{stuff}" AND "/do/some/usefull/{stuff}" event.
For instance while calling /do/some/eating or /do/some/usefull/sleeping will both end in [2] where stuff becomes "eating" or "usefull/sleep" respectively, [1] is left behind with nothing to do.
The expected matching behaviour should always be from more specific to less specific.
I.e. [2] should never fire before [1]. So that /do/some/usefull/sleeping would correctly map to [1] with stuff==sleeping and /do/some/eating correctly maps to [2] with stuff==eating.
Using xml one can achieve the correct matching order by re-ordering the action definitions (most specific action mapping comes first)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (WW-3784) Greedy and non-greedy matching behaviour
should work in action methods using annotated wildcards
Posted by "Lukasz Lenart (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/WW-3784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lukasz Lenart updated WW-3784:
------------------------------
Fix Version/s: 2.3.7
> Greedy and non-greedy matching behaviour should work in action methods using annotated wildcards
> -------------------------------------------------------------------------------------------------
>
> Key: WW-3784
> URL: https://issues.apache.org/jira/browse/WW-3784
> Project: Struts 2
> Issue Type: Bug
> Components: Core Actions
> Affects Versions: 2.3.1.2
> Environment: Win XP, Linux / JDK 7 (Oracle)
> Reporter: Mo Be
> Fix For: 2.3.7
>
>
> @Namespace("/do")
> public class CRUDAction {
> /* [1] specific wildcard */
> @Override @Action(value="some/usefull/{stuff}",results={@Result(location = "result.jsp")})
> public String execute() throws Exception {...}
> /* [2] less specific wildcard */
> @Override @Action(value="some/{stuff}", results={@Result(location ="result.jsp")})
> public String input() throws Exception {...} }
> Currently pattern [2] due to greedy natching catches every "/do/some/{stuff}" AND "/do/some/usefull/{stuff}" event.
> For instance while calling /do/some/eating or /do/some/usefull/sleeping will both end in [2] where stuff becomes "eating" or "usefull/sleep" respectively, [1] is left behind with nothing to do.
> The expected matching behaviour should always be from more specific to less specific.
> I.e. [2] should never fire before [1]. So that /do/some/usefull/sleeping would correctly map to [1] with stuff==sleeping and /do/some/eating correctly maps to [2] with stuff==eating.
> Using xml one can achieve the correct matching order by re-ordering the action definitions (most specific action mapping comes first)
>
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira