2013-07-19 17 views
5

Liferayで新しいです。私はサービスビルダーを使用してデータベースを作成しました。私はそれらを手動で設定しました。最終的にはPersonLocalServiceUtil classを使ってJSPで呼び出すことができます。 今私のプログラムでAjaxを使いたいです。例えばLiferay ajaxリクエストとJSONレスポンス

:属性personIDpersonWeightpersonTemperaturedatetimeと 者は、データベースに格納されています。

私は、特定のタイムラインのための彼の重量または温度グラフを見ることがpersonIDによってAJAX呼び出しをしたいです。私は知っている、私はデータベースからコントローラへのリストを呼び出すことができますしかし、私は知らないどのように私はそれをJSON obejctに変換し、要求に応じてJSPに転送することができますので、JSPはページをリフレッシュせずに新しいグラフを表示します。

答えて

6

あなたはURL

<portlet:resourceURL var="resourceURL" > 
</portlet:resourceURL> 

Ajaxのコール

を作成する必要がありますが、AJAXリクエストを使用してJSPから人物IDを送信することができますし、あなたが

すなわちコントローラ(serveResource法) 内のデータをフェッチすることができます

$.ajax({ 
    url : '${resourceURL}', 
    data : data,//person id to sent 
    type: 'POST', 
    dataType : "json", 
    success : function(data) { 
    // get person data back from controller 
    } 
}); 

コントローラの一部

public void serveResource(ResourceRequest resourceRequest, ResourceResponse resourceResponse) { 

    //get person id using getparameter 

    JSONObject json = JSONFactoryUtil.createJSONObject(); 

    json.put("jsonData", "person details"); 
    response.getWriter().write(json.toString()); 

} 

HTH

それは私が答えを閉じる前に、その後の答え
+0

おかげで... – NNN

+1

@ArkoMahmudは、私はちょうど1もっと知りたいと思いました問題。 Service BuilderがJsonSerializerクラスを生成しない理由そして、もしそれが生成されたなら、私はそれを直接コントローラのHTTPリクエストに応答することができますか? – Niranjan

+0

こんにちはを受け入れる助けた場合はあなたの答え@Luckyボーイため – NNN

関連する問題