T2のプロジェクトでGWT有効にしたらエラーが出た。
プロジェクトのプロパティを開くとエラーが出てフレームワークの画面が開かなくなる。
antのファイル消して何度やりなおしても同じようになる。何が原因だろうか。
ソースを基にプロジェクトの作成をしない場合はうまくいくようだ。
どうやらGWT1.5正式対応したようなので、前回気になった場所を同じようにやってみる。
結果…だめ。
まぁ困る場所じゃないからいいのと、エラーの赤い波線が出てもコンパイルもすべて問題なく動くので無視すればいいだけかもしれないけど、気持ち悪いのは変わらない。
T2FrameworkのJSONを食わせてみたけど、JSONの扱いがGWTは面倒だから(Beanにマッピングとかはしてくれない)やっぱりGWTのRPCやるのが一番楽だな。
HTMLのデザインを使うGWTとか
くだらない、どうでもいいこと思いついた。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta name='gwt:module' content='org.yournamehere.Main=org.yournamehere.Main'> <title>Main</title> </head> <body> <script language="javascript" src="org.yournamehere.Main/org.yournamehere.Main.nocache.js"></script> <div id="text">text</div> <div id="button"><input type="text" value="ほげほげ"></div> </body> </html>
普通にHTMLをデザインする。ここにGWTのコンポーネントを埋め込む。ただし、すでにダミーのコンポーネントやテキストがあるのでこのままではそれらも表示されて具合が悪いことになる。
そこでいったん対象のid以下を消す。具体的なGWTのコードは以下のようにする。
RootPanel.get("button").getElement().setInnerHTML(""); RootPanel.get("button").add(button); RootPanel.get("text").getElement().setInnerHTML(""); RootPanel.get("text").add(label);
うん、激しくくだらない。デザイナが配置してIDだけセットしてもらうというのはありかもしれない。でも、問題はNetBeansのGWTプラグインが複数の画面をサポートしてくれないことなんだよなぁ。