Osamu Otani
otani****@gmail*****
2008年 11月 21日 (金) 13:12:03 JST
皆様ありがとうございました。 最終的にWikiなどを見て次のように解決しました。 とんちんかのような事をしていたら指摘してください。 jp.test.sample.pages.Home は WEB-INF/Home.html jp.test.sample.pages.user.Register は WEB-INF/user/Register.html にマッピングされる @Override protected void init(){ super.init(); IResourceSettings resourceSettings = getResourceSettings(); resourceSettings.addResourceFolder( "WEB-INF" ); resourceSettings.setResourceStreamLocator( new PathStripperLocator( "jp/test/sample/pages" ) ); } public class PathStripperLocator extends ResourceStreamLocator{ private String pagesPath; public PathStripperLocator( String pagesPath ){ this.pagesPath = pagesPath; } @Override public IResourceStream locate( Class<?> clazz, String path ){ if( path.indexOf( pagesPath, 0 ) != -1 ){ IResourceStream located = super.locate( clazz, path.substring( pagesPath.length() + 1; ) ); if( located != null ){ return located; } } return super.locate( clazz, path ); } } 2008/11/20 20:09 tj_takehana <tgens****@gmail*****>: > 竹花です。 > > アプリケーションクラスのinit()内で以下を設定してみてください。 > IResourceSettings resourceSettings = getResourceSettings(); > resourceSettings.setResourceStreamLocator(new ViewFileLocator()); > > > 上記にてセットしているViewFileLocatorクラスは以下のようになっています > > public class ViewFileLocator extends ResourceStreamLocator { > > public ViewFileLocator() { > } > > @Override > public IResourceStream locate(final Class< ? > clazz, final String path) { > IResourceStream located = super.locate(clazz, viewDirectoryPath(path)); > if (located != null) { > return located; > } > return super.locate(clazz, path); > } > > private String viewDirectoryPath(String path) > { > // パスを"/"で分割し配列に格納する > String[] segmentArray = path.split("/"); > > // WEB-INF上のリソース名を返す > return "../" + segmentArray[segmentArray.length - 1]; > } > } > > > > > 2008/11/20 Osamu Otani <otani****@gmail*****>: >> 回答ありがとうございます。 >> お教えいただいた方法ですと、 >> >> ページクラスが >> jp.test.sample.pages.SomePage >> の時、テンプレートが >> WEB-INF/jp/test/sample/pages/SomePage.html >> にあればOkでした。 >> >> >> では無くて >> jp.test.sample.pages.SomePage >> がある時 >> WEB-INF/SomePage.html >> できればWEB-INFの1つ上(webapp)の階層 >> >> 即ちjp.test.sample.pagesを任意のディレクトリにマップする方法は無いでしょうか? >> >> >> 2008/11/20 16:28 Osamu Otani <otani****@gmail*****>: >>> Wicket初心者です。 >>> >>> wicketではhtml(テンプレート)をページクラスがある階層と同じ場所に配置するようですが、 >>> それを、WEB-INFがある階層と同じ場所に置くにはどうしたらよろしいでしょうか? >>> >>> よろしくお願いします。 >>> >> _______________________________________________ >> Wicket-ja-user mailing list >> Wicke****@lists***** >> http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user >> > > _______________________________________________ > Wicket-ja-user mailing list > Wicke****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user >