|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectjp.co.fujitsu.reffi.client.nexaweb.model.BaseModel
jp.co.fujitsu.reffi.client.nexaweb.model.XalReturnPossibilityModel
jp.co.fujitsu.reffi.client.nexaweb.model.HTTPRequestCore
public class HTTPRequestCore
[概 要]
同期、非同期HTTPリクエストを送信、レスポンス受信する為のモデルクラスです。[詳 細]
[備 考]
使用例) ・同期通信でリモートサーバからxalファイルを受信、画面にレンダリングする TODO javadoc修正public class OpenChatAction extends BaseAction { @Override protected void reserveModels(List・非同期通信でリモートサーバからシリアライズオブジェクトを受信、テーブルに受信データを埋め込む> models) { // HTTP通信モデルを実行予約 models.add(HTTPRequestCore.class); } @Override public void nextModel(int index, Model prev, Model next) throws Exception{ switch(index){ case 0: // サーバロジックの指定方法は任意(strutsでも自作F/Wでも可) ((HTTPRequestCore)next).setRequestUrl("webcontroller"); ((HTTPRequestCore)next).addUrlParameters("forward.page", "/pages/chat.xal"); break; } } }
public class InitializeTableWindowAction extends BaseAction { @Override protected void reserveModels(List> models) { // HTTP通信モデルを実行予約 models.add(HTTPRequestCore.class); } @Override public void nextModel(int index, Model prev, Model next) throws Exception { switch(index) { case 0: // サーバロジックの指定方法は任意(strutsでも自作F/Wでも可) ((HTTPRequestCore)next).setRequestUrl("webcontroller"); ((HTTPRequestCore)next).addUrlParameters("model.fqcn", "demo.server.model.FetchTableDataModel"); // 受信データを自動レンダリングさせない ((HTTPRequestCore)next).setRenderResponse(false); // 通信は非同期を指定 ((HTTPRequestCore)next).setAsync(true); break; } } @Override public void successForward(int index, Model model, Object result) throws Exception { // モデル結果オブジェクトをHttpResponse型にキャスト HttpResponse response = (HttpResponse)result; // HttpResponseからシリアライズされたTableDataリストを取得 List data = (List )getSerializedHttpResponseContent(response); // 設定対象データソースオブジェクトを取得 ObjectDataSource objectDataSource = getObjectDataSource("tableDataSource"); // データソースにサーバモデル結果を設定 objectDataSource.setSource(data); } }
[環 境] JDK 6.0 Update 11
Copyright (c) 2008-2009 FUJITSU Japan All rights reserved.
コンストラクタの概要 | |
---|---|
HTTPRequestCore()
[概 要] コンストラクタ [詳 細] [備 考] |
メソッドの概要 | |
---|---|
void |
addUrlParameters(String key,
String value)
[概 要] 「key=value」形式URLパラメータマップに要素を追加します。 |
protected void |
asyncRequest(HttpRequest httpRequest,
RequestService requestService)
[概 要] 非同期HTTPリクエストを送信します。 |
String |
getRequestMethod()
[概 要] HTTPリクエストメソッドを取得します。 |
String |
getRequestUrl()
[概 要] HTTPリクエストするURLを取得します。 |
Map<String,String> |
getUrlParameters()
[概 要] 「key=value」形式URLパラメータマップを取得します。 |
boolean |
isAsync()
[概 要] 非同期リクエスト送信フラグ取得 [詳 細] サーバへの通信を非同期で実行するフラグを取得します。 |
boolean |
isDynamicUrl()
[概 要] 動的URLフラグ取得 [詳 細] URLを動的に生成してサーバへ送信を行うフラグを取得します。 |
boolean |
isRenderResponse()
[概 要] HTTPレスポンスをUIにレンダリングするかどうかのフラグを取得します。 |
protected void |
mainproc()
[概 要] 主処理です。 |
void |
postRequest(String uri,
HttpResponse response)
[概 要] リクエスト送信後処理 [詳 細] リクエスト送信後の処理を行います。 |
void |
postRequestFailed(String uri,
NetServiceException e)
[概 要] リクエスト送信失敗後処理 [詳 細] リクエスト送信失敗の後処理を行います。 |
void |
removeUrlParameters(String key)
[概 要] 「key=value」形式URLパラメータマップから要素を削除します。 |
void |
requestCompleted(String uri,
HttpResponse response)
[概 要] リクエスト完了処理 [詳 細] リクエストが完了しレスポンスを受信した際の処理を行います。 |
void |
requestFailed(String uri,
NetServiceException e)
[概 要] リクエスト失敗処理 [詳 細] リクエスト送信が失敗した場合の処理を行います。 |
void |
setAsync(boolean async)
[概 要] 非同期リクエスト送信フラグ設定 [詳 細] [備 考] |
void |
setDynamicUrl(boolean dynamicUrl)
[概 要] 動的URLフラグ設定 [詳 細] URLを動的に生成してサーバへ送信を行うフラグを設定します。 |
void |
setRenderResponse(boolean renderResponse)
[概 要] HTTPレスポンスをUIにレンダリングするかどうかのフラグを設定します。 |
void |
setRequestMethod(String requestMethod)
[概 要] HTTPリクエストメソッドを設定します。 |
void |
setRequestUrl(String requestUrl)
[概 要] HTTPリクエストするURLを設定します。 |
void |
setUrlParameters(Map<String,String> urlParameters)
[概 要] 「key=value」形式URLパラメータマップを設定します。 |
protected void |
syncRequest(HttpRequest httpRequest,
RequestService requestService)
[概 要] 同期HTTPリクエストを送信します。 |
クラス jp.co.fujitsu.reffi.client.nexaweb.model.XalReturnPossibilityModel から継承されたメソッド |
---|
addIdentifierToWindows, getCommunicateId, getEventSourceWindow, setCommunicateId, setEventSourceWindow |
クラス jp.co.fujitsu.reffi.client.nexaweb.model.BaseModel から継承されたメソッド |
---|
addModelProcessListener, finalproc, fireModelFailure, fireModelFinished, fireModelSuccess, getController, getExecuteIndex, getListenerList, getParameterMapping, getResult, getSuccessCount, incrementSuccessCount, isSkip, postproc, preproc, removeModelProcessListener, run, setController, setExecuteIndex, setListenerList, setParameterMapping, setResult, setSkip, trap |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
---|
public HTTPRequestCore()
[概 要]
コンストラクタ[詳 細]
[備 考]
メソッドの詳細 |
---|
public String getRequestUrl()
[概 要]
HTTPリクエストするURLを取得します。[詳 細]
[備 考]
public void setRequestUrl(String requestUrl)
[概 要]
HTTPリクエストするURLを設定します。[詳 細]
[備 考]
requestUrl
- リクエストURLpublic String getRequestMethod()
[概 要]
HTTPリクエストメソッドを取得します。[詳 細]
[備 考]
public void setRequestMethod(String requestMethod)
[概 要]
HTTPリクエストメソッドを設定します。[詳 細]
[備 考]
requestMethod
- リクエストメソッドpublic Map<String,String> getUrlParameters()
[概 要]
「key=value」形式URLパラメータマップを取得します。[詳 細]
[備 考]
public void setUrlParameters(Map<String,String> urlParameters)
[概 要]
「key=value」形式URLパラメータマップを設定します。[詳 細]
[備 考]
urlParameters
- URLパラメータマップpublic void addUrlParameters(String key, String value)
[概 要]
「key=value」形式URLパラメータマップに要素を追加します。[詳 細]
[備 考]
key
- パラメータキーvalue
- パラメータ値public void removeUrlParameters(String key)
[概 要]
「key=value」形式URLパラメータマップから要素を削除します。[詳 細]
[備 考]
key
- パラメータキーpublic boolean isRenderResponse()
[概 要]
HTTPレスポンスをUIにレンダリングするかどうかのフラグを取得します。[詳 細]
[備 考]
public void setRenderResponse(boolean renderResponse)
[概 要]
HTTPレスポンスをUIにレンダリングするかどうかのフラグを設定します。[詳 細]
[備 考]
renderResponse
- レンダリングする場合はtrue、それ以外はfalsepublic boolean isAsync()
[概 要]
非同期リクエスト送信フラグ取得[詳 細]
サーバへの通信を非同期で実行するフラグを取得します。[備 考]
public void setAsync(boolean async)
[概 要]
非同期リクエスト送信フラグ設定[詳 細]
[備 考]
async
- 非同期実行ならtrue、それ以外はfalsepublic boolean isDynamicUrl()
[概 要]
動的URLフラグ取得[詳 細]
URLを動的に生成してサーバへ送信を行うフラグを取得します。[備 考]
本フラグがtrueの場合、あらかじめサーバ側のweb.xmlでDynamicUrlFilterが 定義されている必要があります。
public void setDynamicUrl(boolean dynamicUrl)
[概 要]
動的URLフラグ設定[詳 細]
URLを動的に生成してサーバへ送信を行うフラグを設定します。[備 考]
本フラグがtrueの場合、あらかじめサーバ側のweb.xmlでDynamicUrlFilterが 定義されている必要があります。
dynamicUrl
- 動的URLを生成する場合はtrue、それ以外はfalseprotected void mainproc() throws Exception
XalReturnPossibilityModel
の記述:[概 要]
主処理です。[詳 細]
アクションから譲渡された、イベント発生元ウィンドウレベルエレメントを、 フィールドに保存します。[備 考]
保存されたイベント発生元ウィンドウレベルエレメントのid属性値が、 新たに取得したウィンドウレベルエレメントのparentId属性値として設定されます。
XalReturnPossibilityModel
内の mainproc
Exception
- オーバーライド先で発生する可能性が有る例外protected void syncRequest(HttpRequest httpRequest, RequestService requestService) throws Exception
[概 要]
同期HTTPリクエストを送信します。[詳 細]
isRenderingResponse()の返却値を判定して、以下の処理を行います。 【trueの場合】 response = requestService.retrieveAndProcess(httpRequest); 【falseの場合】 response = requestService.retrieve(httpRequest); trueの場合はレスポンス返却時点で画面に反映されます。 この場合、HTTPレスポンスのコンテントはXALデータである必要が有ります。 isRenderingResponse()の結果如何に関わらず、受信したデータはrequestCompleted メソッドに譲渡されます。[備 考]
isRenderingResponse() == true時、レスポンスがXALデータで無かった場合は 例外が発生します。 シリアライズオブジェクトをレスポンスデータとして受信する場合は setRenderingResponse(false)を設定しておく必要があります。
httpRequest
- HTTPリクエストrequestService
- リクエストサービス
Exception
- リクエスト送信例外protected void asyncRequest(HttpRequest httpRequest, RequestService requestService) throws Exception
[概 要]
非同期HTTPリクエストを送信します。[詳 細]
isRenderingResponse()の返却値を判定して、以下の処理を行います。 【trueの場合】 requestService.retrieveAndProcessAsynchronously(httpRequest,this); 【falseの場合】 requestService.retrieveAsynchronously(httpRequest, this); trueの場合はレスポンス返却時点で画面に反映されます。 この場合、HTTPレスポンスのコンテントはXALデータである必要が有ります。 レスポンス受信成功はthis.requestCompletedが、失敗時はthis.requestFailed が、NetServiceListenerによってコールバックされます。[備 考]
isRenderingResponse() == true時、レスポンスがXALデータで無かった場合は 例外が発生します。 シリアライズオブジェクトをレスポンスデータとして受信する場合は setRenderingResponse(false)を設定しておく必要があります。
httpRequest
- HTTPリクエストrequestService
- リクエストサービス
Exception
- リクエスト送信例外public final void requestCompleted(String uri, HttpResponse response)
[概 要]
リクエスト完了処理[詳 細]
リクエストが完了しレスポンスを受信した際の処理を行います。[備 考]
NetServiceListener
内の requestCompleted
public final void requestFailed(String uri, NetServiceException e)
[概 要]
リクエスト失敗処理[詳 細]
リクエスト送信が失敗した場合の処理を行います。[備 考]
NetServiceListener
内の requestFailed
public void postRequest(String uri, HttpResponse response)
[概 要]
リクエスト送信後処理[詳 細]
リクエスト送信後の処理を行います。[備 考]
本メソッドは、本クラスを継承するモデルが送信後に何かしらの処理を 行いたい場合のみ実装されます。
uri
- リクエストURIresponse
- HTTPレスポンスpublic void postRequestFailed(String uri, NetServiceException e)
[概 要]
リクエスト送信失敗後処理[詳 細]
リクエスト送信失敗の後処理を行います。[備 考]
本メソッドは、本クラスを継承するモデルが送信失敗後に何かしらの処理を 行いたい場合のみ実装されます。
uri
- リクエストURIe
- リクエスト送信例外
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |