Loading [MathJax]/extensions/tex2jax.js

2010-11-30

GWTでサーバーに直接アクセスする ~Requestbuilderを利用する~

GWTでサーバと通信する場合はGWT-RPCを利用するのがスタイリッシュですが、サーバ内にあるコンテンツやサーブレットにアクセスしたいというときがあります。その際は、Requestbuilderを利用します。使い方は以下のとおり。
  1. @UiHandler("btnSubmit")  
  2.     void onClick(ClickEvent e) {  
  3.         try {  
  4.             final String url = "/test.txt";  
  5.             final RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET, url);  
  6.             requestBuilder.sendRequest("GET"new RequestCallback() {  
  7.   
  8.                 @Override  
  9.                 public void onError(Request request, Throwable exception) {  
  10.                     Window.alert("ファイルの読み込みに失敗しました");  
  11.                 }  
  12.   
  13.                 @Override  
  14.                 public void onResponseReceived(Request request, Response response) {  
  15.                     Window.alert("読み込みました" + response.getText());  
  16.                 }  
  17.             });  
  18.         } catch (RequestException ex) {  
  19.             //エラー処理をここで書く  
  20.         }  
  21.     }  
このサンプルは、ボタンを押したときにサーバ内にあるファイルtest.txtにアクセスしています。アクセスに成功すると、onResponseReceivedメソッドが起きますのでそこで、処理をします。受け取ったデータは引数のResponseクラスに入ってます。なお、GWTはJavaScriptと同じ制約を受けますので、外部のサーバに対してこのようなアクセスをすることは無理です。

0 件のコメント:

コメントを投稿