Vaadin勉強その3:productionMode
昨日、vaadinのweb.xmlを見ていて気になったんだけど、>context-param<タグのなかにproductionModeってのがあって、もしやと思って調べてみた。
web.xmlの内容
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <display-name>Vaadin Test</display-name> <description> Vaadin TestApplication </description> <context-param> <param-name>productionMode</param-name> <param-value>false</param-value> <description>Vaadin production mode</description> </context-param> ・・・以下省略
11.4.1. Debug Mode
サイトからダウンロードする圧縮ファイルの中についてくる「book-of-vaadin.pdf」の11.4.1によると、開発者のためのデバッグ用ツールがあるらしい。それがこの、<context-param>タグで設定できる。falseにしておけば使える。(デフォルトはfalseになるらしい)デバッグ用ツールは、URLにクエリ文字列で"?debug"を付けてやると表示される。昨日作ったサンプルアプリはhttp://127.0.0.1:8080/vaadintest1で確認できるので、"?debug"を付けて、http://127.0.0.1:8080/vaadintest1?debugとなる。
まず、<context-param>タグが無いバージョンで確認。<context-param>タグをごっそりとweb.xmlから削除して確認。再起動して、画面を確認。
おお、なんかWicketのデバッグライクな画面が!デフォルトはproductionMode=falseとして扱われるらしい。
次に、productionMode=falseにして確認。
最期に、productionMode=trueとして確認。
ちなみに、Eclipseの標準出力には、Wicketのように、どんなモードで起動したか出力されます。以下は、デバッグモードの場合。
================================================================= Vaadin is running in DEBUG MODE. Add productionMode=true to web.xml to disable debug features. To show debug window, add ?debug to your application URL. =================================================================
デバッグツールでできること。
- [Clear console]ボタン
- デバッグツールのコンソールをクリアする。
- [Restart app]ボタン
- アプリケーションを再起動する。
- [Force layout]ボタン
- [Analyze layout]ボタン
- 画面のレイアウトを分析して表示してくれる。(下図参照)
その他
com.vaadin.terminal.gwt.client.ApplicationConnectionクラスを使うと、このデバッグツールの標準出力にログのように出力できるらしい。(FireBugを使っている場合はそちらにも出力されるらしい)当然productionMode=trueのときは無視されるとのこと。
ApplicationConnection.getConsole().error("エラーだよ"); ApplicationConnection.getConsole().log("ログだよ");
その他、上記でも取り扱われていたように、FirefoxのFirebugプラグインが入っていると、至れり尽くせりになるらしい。僕はFirefoxユーザーじゃないので残念なんですが・・・