2011-03-09 23 views
1

私はAcaClassesのリストからJSONオブジェクトを作成しようとしています。Struts2 JSON Plugin with Hibernate

アクションクラス:

public class StudentJSONAction extends ActionSupport{ 

    //Your result List 
    private List<AcaClass> gridModel; 


    public String getJSON() { 
     return execute(); 
    } 

    public String execute() { 

     //Get the first student from the Factory and get their AcaClasses 
     gridModel = StudentFactory.getAll().get(0).getAcaClasses(); 

     return SUCCESS; 
    } 


     //Getters and Setters 

StudentFactoryは休止データベースへの私のインタフェースです。

Struts.xml

<action name="getJSON" class="StudentJSONAction"> 
<result type="json"> 
     <param name="enableSMD">true</param> 
     <param name="ignoreInterfaces">false</param> 
</result> 
</action> 

私がgetJSONアクションを呼び出し、私が得るすべては次のとおりです。

{"methods":[],"objectName":null,"serviceType":"JSON-RPC","serviceUrl":"\/FlowridersSP\/getJSON","version":".1"} 

This問題は私に非常に似ていますが、私はそこにあるかどうかを確認したいと思いますソリューションStruts2 JSONプラグインを使用して

質問:なぜ私はJSONフォームでAcaClassesのリストを返さないのですか?

私の最終目標は、jQueryのグリッドのプラグインで、このJSONで

+0

gridModelの内容を印刷するために、各ループに対してexecute()メソッドの最後に追加することができます(印刷することができれば、jsonとしてレンダリングする必要はありません)プラグインの障害)。また、ゲッターやセッターを含む完全なクラスを表示してください。 – Quaternion

答えて

0

をプラグインすることである私は、JSONのプラグインに精通していないですが、あなたは正しくgridModelをシリアル化するためのプラグインを設定していますか?プラグインのドキュメントをざっと見てあなたもrootパラメータを設定したい場合がありますことを示唆している:

また
<action name="getJSON" class="StudentJSONAction"> 
    <result type="json"> 
    <param name="enableSMD">true</param> 
    <param name="ignoreInterfaces">false</param> 
    <param name="root">gridModel</param> 
    </result> 
</action> 

、問題がStudentFactoryまたはJSONのシリアライズであるかどうかを確認してみてください。 gridModelに、ダミーのAcaClassオブジェクトのリストを設定し、シリアル化が正しく機能するかどうかを確認することができます。また、@Quaternionのように、StudentFactoryによってロードされたAcaClassオブジェクトのリストをログに記録し、予想されるインスタンスがロードされていることを確認できます。