通りすがりさんのフィードバックを試して見た。
@Page("/")
public class IndexPage {
@Default
@ActionPath("index.html")
public Navigation index(final WebContext context) { ... }
}@Page("foo")
public class FooPage {
@Default
@ActionPath("bar")
public Navigation bar(final WebContext context) { ... }@ActionPath("baz")
public Navigation baz(final WebContext context) { ... }
}そして「http://hoge.appspot.com/foo」にアクセスした場合、FooPage#bar() が
実行されると思っていたのですが、IndexPage#index()が実行されるようです。
お手数ですがご確認いただけますでしょうか?
T2のITで試してみました。
@Page("/") public class IndexPage { @Default @ActionPath("index.html") public Navigation index(final WebContext context) { return SimpleText.out("indexpage.index"); } }
@Page("foo") public class FooPage { @Default @ActionPath("bar") public Navigation bar(final WebContext context) { return SimpleText.out("foopage.bar"); } @ActionPath("baz") public Navigation baz(final WebContext context) { return SimpleText.out("foopage.baz"); } }
でテストケース。
public void testRootUrl() throws Exception { SDLoader loader = new SDLoader(); loader.setAutoPortDetect(true); loader.setUseNoCacheMode(true); this.context = new WebAppContext("/", "test/it/page2"); context.addClassPath("target/classes"); context.addClassPath("target/test-classes"); loader.addWebAppContext(context); try { loader.start(); String baseUrl = "http://localhost:" + loader.getPort() + context.getContextPath(); assertEquals("indexpage.index", getRequestContent(baseUrl, "GET")); assertEquals("foopage.bar", getRequestContent(baseUrl + "/foo", "GET")); assertEquals("foopage.baz", getRequestContent(baseUrl + "/foo/baz", "GET")); } finally { loader.stop(); } }
でテストが通るので、今のjarなら大丈夫だと思います。
SDLoader、Tomcat、GAEローカルで試してみました。
現在のスナップショットでもう一度試してもらえないでしょうか。>通りすがりさん
以下になります。
- http://maven.t2framework.org/maven2-snapshot/org/t2framework/web/t2/0.6.0-SNAPSHOT/t2-0.6.0-20090624.042451-14.jar
- http://maven.t2framework.org/maven2-snapshot/org/t2framework/web/t2/0.6.0-SNAPSHOT/t2-0.6.0-20090624.042451-14-sources.jar
出来れば、他にこれで再現するぜっていうテストケースがあるならかなり助かりますm(_ _)m
ご協力宜しくお願いします。