org.seasar.cubby.action
クラス Json

java.lang.Object
  上位を拡張 org.seasar.cubby.action.Json
すべての実装されたインタフェース:
ActionResult

public class Json
extends Object
implements ActionResult

JSON 形式の応答を返す ActionResult です。

アクションメソッドの戻り値としてこのインスタンスを指定することで、指定された JavaBean を JSON/JSONP 形式に変換して応答を返します。 ブラウザの JavaScript から発行された要求を処理する場合等に使用してください。 JavaBean/ Map/配列/ Collectionなどがコンストラクタに渡すことができます。

使用例1 : JSON 形式の応答を返す

 MyBean bean = ...;
 return new Json(bean);
 

使用例2 : コールバック関数名を指定して JSONP 形式の応答を返す

 MyBean bean = ...;
 return new Json(bean, "callback");
 

使用例3 : MIME タイプと文字コードを指定して JSON 形式の応答を返す。
設定される MIME タイプは"text/javascript+json; charset=Shift_JIS"になります。

 MyBean bean = ...;
 return new Json(bean).contentType("text/javascript+json").encoding("Shift_JIS");
 

作成者:
baba, agata
関連項目:
JSON(JavaScript Object Notation), JSONP(JSON with Padding), JsonProvider.toJson(Object)

コンストラクタの概要
Json(Object bean)
          JSON 形式で応答を返すインスタンスを生成します。
Json(Object bean, JsonProvider jsonProvider)
          JSON 形式で応答を返すインスタンスを生成します。
Json(Object bean, String callback)
          JSONP 形式で応答を返すインスタンスを生成します。
Json(Object bean, String callback, JsonProvider jsonProvider)
          JSONP 形式で応答を返すインスタンスを生成します。
 
メソッドの概要
 Json contentType(String contentType)
          MIME タイプを設定します。
 Json encoding(String encoding)
          エンコーディングを設定します。
 void execute(ActionContext actionContext, HttpServletRequest request, HttpServletResponse response)
          処理を実行します。
 Object getBean()
          JSON 形式に変換する JavaBeanを取得します。
 String getCallback()
          コールバック関数名を取得します。
 String getContentType()
          MIME タイプを取得します。
 String getEncoding()
          エンコーディングを取得します。
 boolean isXjson()
          JSON 文字列を X-JOSN 応答ヘッダに設定するかを示します。
 void xjson()
          JSON 文字列を応答ボディではなく X-JSON 応答ヘッダに設定することを指定します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

Json

public Json(Object bean)
JSON 形式で応答を返すインスタンスを生成します。

パラメータ:
bean - JSON 形式に変換するオブジェクト

Json

public Json(Object bean,
            JsonProvider jsonProvider)
JSON 形式で応答を返すインスタンスを生成します。

パラメータ:
bean - JSON 形式に変換するオブジェクト
jsonProvider - JSON のプロバイダ

Json

public Json(Object bean,
            String callback)
JSONP 形式で応答を返すインスタンスを生成します。

パラメータ:
bean - JSONP 形式に変換するオブジェクト
callback - コールバック関数名

Json

public Json(Object bean,
            String callback,
            JsonProvider jsonProvider)
JSONP 形式で応答を返すインスタンスを生成します。

パラメータ:
bean - JSONP 形式に変換するオブジェクト
callback - コールバック関数名
jsonProvider - JSON のプロバイダ
メソッドの詳細

getBean

public Object getBean()
JSON 形式に変換する JavaBeanを取得します。

戻り値:
JSON 形式に変換する JavaBean

getCallback

public String getCallback()
コールバック関数名を取得します。

戻り値:
コールバック関数名

contentType

public Json contentType(String contentType)
MIME タイプを設定します。

パラメータ:
contentType - MIME タイプ (例:"text/javascript+json")
戻り値:
Json

getContentType

public String getContentType()
MIME タイプを取得します。

戻り値:
MIME タイプ

encoding

public Json encoding(String encoding)
エンコーディングを設定します。

設定されたエンコーディングは MIME タイプの charset として使用されます。

パラメータ:
encoding - エンコーディング (例:"Shift_JIS")
戻り値:
Json

getEncoding

public String getEncoding()
エンコーディングを取得します。

戻り値:
エンコーディング

xjson

public void xjson()
JSON 文字列を応答ボディではなく X-JSON 応答ヘッダに設定することを指定します。

prototype.js の Ajax.Request を使うときに使用してください。

関連項目:
www.prototypejs.org - Ajax Options

isXjson

public boolean isXjson()
JSON 文字列を X-JOSN 応答ヘッダに設定するかを示します。

戻り値:
JSON 文字列を X-JOSN 応答ヘッダに設定する場合は true、そうでない場合は false

execute

public void execute(ActionContext actionContext,
                    HttpServletRequest request,
                    HttpServletResponse response)
             throws Exception
処理を実行します。

定義:
インタフェース ActionResult 内の execute
パラメータ:
actionContext - アクションコンテキスト
request - 要求
response - 応答
例外:
Exception


Copyright © 2006-2010 The Seasar Foundation. All Rights Reserved.