GWT

日本語Struts2本が発売になります

毎日コミュニケーションズ社から本サイト関連のStruts2と各コンポーネントの日本語の本が出版されることになりました。Struts2 フルスタック化&Webアプリケーション開発 ~Struts2+Spring 2+Tiles+iBATIS+GWTで作るショッピングサイト~作者: 三国逸文出版社/…

GWTのコンパイル

GWT

GWTで開発されたクライアント側のコードは最終的にJavaScriptに変換する必要があるが、HsotedモードブラウザのCompile/Browseボタンで生成されたコードとコマンドラインでコンパイルして生成したコードでは内容が異なるので注意が必要だ。Hostedモードブラウ…

GWTでSystem.out.println

GWT

Client側でも System.out.println で昔ながらのデバッグ文がHostedモードなら上手く出力される。 出力されるのは GWT Shellのウインドウではなく、Eclipseのコンソールである。

JavaScriptのExtライブラリ

GWT

JavaScriptのExtというライブラリがあり、リッチなコントロールが結構用意されているっぽい。 http://extjs.com/それをGWTに取り込むプロジェクトがGoogle Code Archive - Long-term storage for Google Code Project Hosting.にあった。Google Code Archive…

GWTではLinkedListが使えない

GWT

GWTのRPCのパラメータにLinkedListを渡そうとしたら渡せなかった。 http://code.google.com/intl/ja/webtoolkit/documentation/jre.htmlのJRE Emulationを見ると確かにLinkedListの記述が無い。 ArrayListはサポートされているようだ。

GWTのHostedモードでStruts2実行

tomcat/webapps/ROOT/WEB-INF/web.xml に <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>*.action</url-pattern> </filter-mapping> を記述すればStruts2は動いた。必要に迫られたの…

GWTのRPCでの注意点

GWTがパラメータと返却値のSerialize/Deserializeを面倒見てくれて殆ど問題は無いが、一点注意点としては intやlongなどのObjectではない型は使えないようだ。 String getById( long id )l のようなインターフェースをGWTから呼び出すと、サーバ側では Strin…

GWT開発での注意点

GWT

開発をGWTのHostモードで実行しているとプロジェクト直下の .gwt-cache というところにファイルが作られるがこれはプロジェクトのクリーンとかしてもデフォルトではクリーンしてくれない。 ソースをコピーしてきたりしてタイムスタンプが更新されないと、見…

Struts2のGWT用プラグインの問題

現在Struts2とGWTの連携用に Google Code Archive - Long-term storage for Google Code Project Hosting. の 最新版 0.2.1 を利用しているが、このプラグインが開発された当時は GWTは 1.3 で、現在の 1.4 で利用できるRPCのデータ型が IsSerializable では…

GWTの gwt.xml の source要素

GWT

GWTのモジュール設定用ファイル .gwt.xml の中で source要素が指定できる。これはsource指定が存在しない場合、暗黙で "client" となっているので、client以下のパッケージはJavaScript変換対象となっている。 で、別のところを指定すればそちらも見てくれる…

Struts2フォーム要素とGWTの連携

画面中のGWT支配下のコントロールでStruts2のアクションを呼び出しは問題ないがやはりちょっとはStruts2のフォーム要素と関連を持たせたい場合がある。 たとえば、郵便番号から住所を引っ張ってくるAJAXを考えたときに、郵便番号フィールドはGWTで表示して、…

Struts2のJSPからGWTの呼び出し

GWTのRPCのサービス実装側で簡単にStruts2のActionが使えるようになった、次はStruts2の画面のJSPからGWTを起動(画面中のあるエリアがGWTの支配下にあるイメージ)してみる。Struts2のJSPでGWTのRootPanelで指定しているIDのタグを作成し、次のJavaScriptを…

Struts2-GWTインテグレーション

GWTの単体での使い方、GWTでのRPC(AJAX)発行は問題無いことがわかった。で、フレームワークへのGWTの取り込み方法として、次の方式とする。基本的にはクライアント側では既存のフォーム要素とGWTの要素は関連性を持たせず、GWTはGWTの世界でフレームワーク…

Google Web Toolkitについて5

GWTのRPCで複雑なデータ型を使ってみる。必要なのは、 デフォルトコンストラクタと IsSerializable を実装する事だけ。 package tutorial.gwt.client; import com.google.gwt.user.client.rpc.IsSerializable; public class MyData implements IsSerializabl…

Google Web Toolkitについて4

GWT RPCサービスのインターフェースは簡単に増やすことが出来る。カウントアップだけではなく、リセットも出来るようにしてみるまず、MyService.javaにインターフェースを追加 package tutorial.gwt.client; import com.google.gwt.core.client.GWT; import …

Google Web Toolkitについて3

Google Web Toolkitから標準のRPCを利用してサーバー側と通信させてみる。プロジェクトに新規ファイルで Cypal Studioの「リモート・サービス」を追加プロジェクト、モジュールを指定し、 名前:MyService サービスURI:MyService.actionとして作成。 tutori…

Google Web Toolkitについて2

Google Web Toolkitは次のようにして試すことが出来る。 新規プロジェクトで 動的Webプロジェクト を作成するときの構成とし Cypal Studio GWT Project を指定して作成 プロジェクト名:HelloGWT または既存プロジェクトの場合はプロジェクト・ファセットに …

Google Web Toolkitについて1

Google Web Toolkit、これはクライアント側でのコードをJAVAで書くことが出来る面白い技術である。これを今のフルスタックフレームワークに取り込みたいと強く感じた。これが取り込めればクライアントサイドをクロスブラウザの泥臭い面倒無しに好きなだけリ…