2013-07-19 10 views
5

Sono nuovo in Liferay. Ho usato il service builder per creare il database. Li ho compilati manualmente. E alla fine potrei chiamarli in JSP usando PersonLocalServiceUtil class. Ora voglio usare Ajax nel mio programma.Liferay richiesta ajax e risposta JSON

Per esempio: persona con gli attributi personID, personWeight, personTemperature e datetime vengono memorizzati nel database.

voglio fare una chiamata AJAX per personID di vedere il suo peso o Temperatura grafico per particolari timeline. Tutto quello che so, posso chiamare l'elenco dal Database al controller Ma non so Come posso convertirlo in JSON obejct e inoltrarlo a JSP su richiesta, in modo che JSP non aggiorni la pagina ma mostri un nuovo grafico.

risposta

6

È possibile inviare ID persona da jsp con richiesta AJAX ed è possibile recuperare i dati all'interno controllore (metodo serveResource) cioè

È necessario creare URL

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

Ajax chiamata

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

controller parte

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

Grazie per la risposta @Lucky Boy ... – NNN

+1

@ArkoMahmud Se questo ha aiutato quindi accettare la risposta – Niranjan

+0

Hi Prima di chiudere la risposta, volevo solo sapere un altro problema. Perché Service Builder non sta generando la classe JsonSerializer? E se è stato generato, potrei usarlo direttamente per rispondere alle richieste http nel controller ?? – NNN