俺とSmartGWT 〜SmartGWTことはじめ〜
SmartGWTを使ってみた。
日本語の情報が少なくて難儀したので、初期設定などをまとめておこうかと
SmartGWTとは
GWT(Google Web Toolkit)を補完するライブラリ
ライセンスはLGPL。より高度な機能を備えた有償のEnterprise版もあるみたい。
どんなことができるかは、Showcaseをさわってみるのが早いかと
手順
- SmartGWTダウンロード
SmartGWTのサイトから、ライブラリを取得します。
ダウンロードはこちら
適当なフォルダに展開(解凍) - Eclipseの設定
- GWTプロジェクトを作成(仮にxxxxxとする)
- プロジェクトエクスプローラーで作成したプロジェクトを選択し、右クリック&プロパティ(R)
- Javaのビルド・パス→ライブラリー(L)→外部JARの追加(X)
- 先ほど展開したフォルダ内にあるsmartgwt.jarとsmartgwt-skins.jarを追加する
※smartgwt-skins.jarは、追加のskin(BlackOps, Fleet, SilverWave, TreeFrog)を使用する際に必要。
標準のskin(Enterprise)や、smartgwt.jarに含まれるskin(EnterpriseBlue, Graphite)を使用するのであれば不要です。
- 作成したプロジェクト内のxml及びhtmlへの追記
xxxxx.GWT.xmlへ以下を追記する
<!-- SmartGWTのコア --> <inherits name="com.smartgwt.SmartGwt"/>
※Enterprise以外のskinを使用するなら、下記も追加
<!-- EnterpriseBlueを使用する場合 --> <inherits name="com.smartclient.theme.enterpriseblue.EnterpriseBlue"/> <!-- Graphiteを使用する場合 --> <inherits name="com.smartclient.theme.graphite.Graphite"/> <!-- BlackOpsを使用する場合 --> <inherits name="com.smartclient.theme.blackops.BlackOps"/> <!-- Fleetを使用する場合 --> <inherits name="com.smartclient.theme.fleet.Fleet"/> <!-- SilverWaveを使用する場合 --> <inherits name="com.smartclient.theme.silverwave.SilverWave"/> <!-- TreeFrogを使用する場合 --> <inherits name="com.smartclient.theme.treefrog.TreeFrog"/>
xxxxx.htmlへ以下を追記する
<!-- 重要:SmartGWTリソースの参照先を指定 --> <script> var isomorphicDir = "xxxxx/sc/"; </script> <!-- 使用するskinに応じて、適宜書き換えて下さい... --> <script> var currentSkin = "Enterprise"; //var currentSkin = "EnterpriseBlue"; //var currentSkin = "Graphite"; //var currentSkin = "BlackOps"; //var currentSkin = "Fleet"; //var currentSkin = "SilverWave"; //var currentSkin = "TreeFrog"; </script> <!-- skinをloadする処理... --> <script type="text/javascript">document.write("<"+"script src=xxxxx/sc/skins/" + currentSkin + "/load_skin.js?isc_version=7.1.js><"+"/script>");</script>
※2010/05/19追記
SmartGWT 2.2以降から、 は不要となりました。
Theme(skin)をアプリケーション側から切り替えたい場合…
こちらにまとめました
俺とSmartGWT 〜Theme(skin)の切り替えについて〜 - 俺と何某。
警告の回避
The following classpath entry '..\smartgwt-2.x\smartgwt.jar' will not be available on the server's classpath The following classpath entry '..\smartgwt-2.x\smartgwt-skins.jar' will not be available on the server's classpath
上記のような警告が出た場合は、下記設定で警告表示を抑制できる模様
- プロジェクトエクスプローラーで作成したプロジェクトを選択し、右クリック&プロパティ(R)
- Google→Web アプリケーションを選択し、
WEB-INF/lib の外にあるビルド・パス・エントリーに関する警告を抑制: を表示 - 追加ボタンを押し、smartgwt.jarとsmartgwt-skins.jarを追加する
取り敢えずここまで。
いずれ追加修正するかも