0

Objective-C コードの URL にパラメータを追加すると、クライアントから読み取ることができますか?

例:

- (NSURL *)serverURL {
    return [NSURL URLWithString:@"http://rap.eclipsesource.com/demo?parametername=value"];
}

Client-JavaCode では、次のようにパラメーターの値を取得できます。

String parameter = RWT.getRequest().getParameter("parametername");

ブラウザで「アプリ」にアクセスすると、パラメータの値が取得されます。TabrisClient を使用してアプリにアクセスすると、値は null になります。

TabrisClientでも値を取得する方法はありますか?

4

1 に答える 1

0

アップデート:

サーバーはリクエスト URL からクエリ文字列を直接抽出するのではなく、クライアントから受信した最初の JSON メッセージから抽出します。Web クライアントは、最初の UI 要求queryStringの一部でパラメーターを提供します。head例:

{ "head": { "queryString": "foo=23&bar=42", "requestCounter": ... }, "operations": [ ... ] }

Tabris クライアントでこの動作を偽造する必要があります。起動パラメーターを設定するための API を提供するために、Tabris に対して問題を報告することをお勧めします。

元の答え:

いずれにしても Tabris クライアントでパラメーターをハードコーディングする場合は、接続されているクライアントに基づいて変数を設定できます。

parameter = (RWT.getClient() instanceof WebClient)
          ? RWT.getRequest.getParameter("parametername")
          : "tabris-value";

ところで、リクエスト パラメータへのアクセスは RAP 3.0 で変更されます。RWT.getRequest().getParameter() の代わりに、ClientService がパラメーターを提供します。

于 2015-04-14T10:39:35.553 に答える