クエリ文字列パラメータの使用

Flex データサービスを使用するときは、任意の Flex アプリケーションで、クライアントの要求ストリングにクエリ文字列パラメータを追加してパラメータの値を使用できます。つまり、Flex は URL に名前と値のペアとして渡された GET 要求変数をサポートします。

ラッパーを作成するとき、クエリ文字列パラメータは Flex データサービスによって flashVars 変数に変換されます。このため、Flex データサービスを使用している場合、またはラッパの生成を処理するサーバーサイドロジックを実装している場合は、Flex アプリケーション内のクエリ文字列パラメータへのアクセスが可能です。たとえば、Web 層コンパイラを使用している場合に、ブラウザのアドレスバーで次のクエリ文字列を要求するとします。

http://localhost:8101/flex/charts/PieChart1.mxml?fname=Nick&lname=Danger

Flex は、それらの値を flashVars 変数としてラッパーに追加します。

メモ

 

スタンドアローンの Flash Player 内部で動作している Flex アプリケーションにクエリ文字列パラメータを渡すことはできません。

クエリ文字列パラメータをラッパー内の <object> タグと <embed> タグの src プロパティに追加することもできます。src プロパティは、Flex アプリケーションの SWF ファイルの場所を識別します。これらのパラメータにアクセスする方法は、ブラウザのアドレスバーでクエリ文字列パラメータにアクセスする場合と同じです。

次の例では、カスタムラッパー内で src プロパティにクエリ文字列パラメータを追加します。

<object ... >
    <param name='src' value='TitleTest.mxml.swf?myName=Danger'>
    ...
    <embed src='TitleTest.mxml.swf?myName=Danger' ... />
</object>

flashVars プロパティと同様、parameters オブジェクトで Flex アプリケーションのクエリ文字列パラメータの値にアクセスします。

var myName:String = Application.application.parameters.myName;

ユーザーがラッパーを使用せずに直接 SWF ファイルを要求した場合は、クエリ文字列の変数にアクセスするために追加のコードを提供する必要はありません。次の URL は、Nick という名前と居住地である San Francisco を Flex アプリケーションに渡します。

http://localhost:8100/flex/myApp.swf?myName=Nick&myHometown=San%20Francisco

Flex 2.01