| Issue 191: | ネストしたPageのURLで、Pageのマッチング判定結果でネストが浅いPageが返ってくる | |
| 1 person starred this issue and may be notified of changes. | Back to list |
例えば
1./sample
2./sample/structured_text
という@PageでつけたURLがあり、/sample/structued_text/xxxにアクセスした場合、
本来2にマッチすべきだが、1が返ってきてしまう.
挙動としては、org.t2framework.t2.action.impl.PageDescFinderImpl
のL36あたりで最初にマッチしたPageDescを選択している所の評価方法及び、
PageDescを1つしか抱えていない点がおかしい.
本来、複数の候補に対して、連続的に試していくほうが望ましい.
{{{
@Page("/sample")
public class SamplePage { }
@Page("/sample/structued_text")
public class SampleStructuedTextPage {}
}}}
Mar 31, 2009
r3400で修正しました。 ユーザの方の確認待ちです。 http://maven.t2framework.org/maven2-snapshot/org/t2framework/web/t2/0.5.2-SNAPSHOT/t2-0.5.2-20090331.071107-1.jar http://maven.t2framework.org/maven2-snapshot/org/t2framework/web/t2/0.5.2-SNAPSHOT/t2-0.5.2-20090331.071107-1-sources.jar
Apr 1, 2009
確認してもらいましたので、Closeします。
Status:
Fixed
|
試していく順番については、「マッチ文字数の多いものを優先」などの取り決めをするべき。 また同様のポリシーを@Pageだけでなく、@ActionPathにも適用するべき。 @ActionPathに関しては{name}などの部分も入ってくるので、例えば @ActionPath("/foo/bar") と @ActionPath("/foo/{name}")があって、/foo/barの パスマッチをする場合は、/foo/barを優先する(固定文字列のマッチが長い方)とか、 @ActionPathの場合は複数マッチはエラーにする、とかの議論も必要と思います。