Wicket は Java ファイルと HTML ファイル (と web.xml) で動作し、設定ファイルが必要ないのも売りの一つですが、ある程度はコード上で設定することになります。といってもめったに変更するものではないのでコード上で設定できた方が都合がいいと思います。
設定は wicket.settings パッケージにある I*****Settings インターフェースを通じて行います。たとえば下記のインターフェースがあります。(一部)
- IAjaxSettings - AJAX
- IMarkupSettings - HTML などのマークアップファイル
- IPageSettings - ページ
- IRequestCycleSettings - RequestCycle (サーブレットにおける Request + Response のイメージ)
これらは Application のサブクラスの init() 内で get*****Settings() として取得して設定します。
@Override public void init() { getPageSettings().setVersionPagesByDefault(false); }詳細は各インタフェースの JavaDoc をご覧ください。
- リソースの動的リロード (IResourceSettings().setResourcePollFrequency())
- エラーページに詳細な情報を出力 (IExceptionSettings().setUnexpectedExceptionDisplay())
- マークアップファイルに含まれる wicket タグ (wicket:id など) をそのまま出力 (IMarkupSettings().setStripWicketTags())
など
development モードの逆の設定になります。
デフォルトは development モードなので、運用時には明示的に設定してやる必要があります。
設定するには Application のサブクラスの init() メソッドで
Application.configure(DEVELOPMENT);または
Application.configure(DEPLOYMENT);とします。
また JVM 起動時のオプションにて
-Dwicket.configuration=developmentを指定することも可能です。これなら開発環境でテストしたものを運用環境にそのままデプロイできますね。
他にも web.xml にて
<init-param> <param-name>configuration</param-name> <param-value>deployment</param-value> </init-param>や
<context-param> <param-name>configuration</param-name> <param-value>deployment</param-value> </context-param>でも指定が可能です。
優先順位は
- Application.init()
- -Dweblogic.configuration
- init-param
- context-param
です。
このページへのコメント
tgbYgu Very informative article post.Really looking forward to read more. Keep writing.