Return-Path: X-Original-To: apmail-struts-issues-archive@minotaur.apache.org Delivered-To: apmail-struts-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id BBC8A1083B for ; Wed, 18 Sep 2013 06:57:00 +0000 (UTC) Received: (qmail 27873 invoked by uid 500); 18 Sep 2013 06:56:54 -0000 Delivered-To: apmail-struts-issues-archive@struts.apache.org Received: (qmail 27741 invoked by uid 500); 18 Sep 2013 06:56:54 -0000 Mailing-List: contact issues-help@struts.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@struts.apache.org Delivered-To: mailing list issues@struts.apache.org Received: (qmail 27642 invoked by uid 99); 18 Sep 2013 06:56:53 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 18 Sep 2013 06:56:53 +0000 Date: Wed, 18 Sep 2013 06:56:53 +0000 (UTC) From: "Lukasz Lenart (JIRA)" To: issues@struts.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (WW-3784) Greedy and non-greedy matching behaviour should work in action methods using annotated wildcards MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ 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: (was: 2.3.16) 2.3.17 > 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.17 > > > {code:java} > @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 {...} > } > {code} > 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