Ajaxフレームワーク ユーザーズガイド |
目次 索引 |
第3章 通信フレームワーク | > 3.9 リクエスト送信時のURLについて |
Ajaxフレームワークを利用した通信、および画面部品内での通信において、リクエスト送信時のURLに任意のクエリ文字列を付加することができます。
負荷分散装置などの中継機器やサーバ側の処理において、URLにクエリ文字列を付加する必要がある場合は、本機能を使用してください。
クエリ文字列を付加するには、動作定義によって付加する方法と、JavaScript APIによって付加する方法があります。
ここでは、以下の項目について説明します。
URLに付加するクエリ文字列は、Ajaxフレームワークの動作定義に追加することによって、設定することができます。
以下に、key1=value1&key2を送信する場合の設定例を示します。
RCF_config = { // key1=value1&key2を送信する場合 queryString: {key1:'value1', key2:''} }; |
クエリ文字列がキーだけで値を持たない場合は、上記の例(key2:'')のように、空文字を指定します。
RCF_configオブジェクトのqueryStringプロパティについては、“Ajaxフレームワークの動作定義”を参照してください。
以下に、クエリ文字列指定時の注意事項について説明します。
JavaScript APIによってクエリ文字列を付加する場合は、以下のAPIを利用します。
JavaScript API |
説明 |
---|---|
RCF.setQueryString(Object queryString) |
パラメタには、URLに付加するクエリ文字列を連想配列で指定します。 クエリ文字列指定時の注意事項については、“動作定義によってクエリ文字列を付加する方法”を参照してください。 パラメタの設定値に異常がある場合は、エラーメッセージ(RCF20009)が出力されます。 |
RCF.addQueryString(String key, String value) |
パラメタには、URLに付加するクエリ文字列のキー名と値を指定します。 クエリ文字列指定時の注意事項については、“動作定義によってクエリ文字列を付加する方法”を参照してください。 keyパラメタには、nullを指定することはできません。valueパラメタには、nullを指定することができます。valueパラメタにnullを指定した場合、keyだけがクエリ文字列として作成されます。 |
動作定義やJavaScript APIによって設定されたクエリ文字列は、以下の項目でURLに付加されます。
以下に示すHTMLタグによって記述されたリソースの取得では、Ajaxフレームワークで設定されたクエリ文字列は付加されません。
アプリケーションで付加する必要があります。
以下のAPIを利用すると、任意のURLに対して、動作定義やJavaScript APIによって設定されたクエリ文字列を付加することができます。
JavaScript API |
説明 |
---|---|
RCF.createQueryString() |
RCF_configオブジェクトに設定されたクエリ文字列が、URLに付加可能な形式に変換されて返されます。 クエリ文字列指定時の注意事項については、“動作定義によってクエリ文字列を付加する方法”を参照してください。 |
Apcoordinator連携機能、サーブレット連携機能でクライアントから送信されたクエリ文字列を取得する場合は、サーブレットのAPIを利用します。
以下に、ビジネスクラスからサーブレットのAPIを利用する方法を示します。
Apcoordinator連携機能を利用する場合
import javax.servlet.http.HttpServletRequest; import com.fujitsu.uji.http.HttpDispatchContext; (省略) public void login(DispatchContext context, mypkg.MyDataBean dataBean) { ... HttpServletRequest request = ((HttpDispatchContext)context).getServletRequest(); // クエリ文字列全体を取得 String query = request.getQueryString(); // paramというキーに対する値を取得 String value = request.getParameter("param"); ... } |
サーブレット連携機能を利用する場合
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; (省略) public void doPost (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ... // クエリ文字列全体を取得 String query = request.getQueryString(); // paramというキーに対する値を取得 String value = request.getParameter("param"); ... } |
目次 索引 |