我是Liferay的新人。我使用服务构建器来创建数据库。我手动填充它们。最后我可以使用PersonLocalServiceUtil class
在JSP中调用它们。
现在我想在我的程序中使用Ajax。
例如:
属性personID
,personWeight
,personTemperature
和datetime
的人员存储在数据库中。
我想通过personID
进行ajax调用,以查看特定时间轴的权重或温度图表。我所知道的,我可以将数据库从数据库调用到控制器但是我不知道如何将它转换为JSON
obejct并根据请求将其转发给JSP,这样JSP就不会刷新页面而是显示新的曲线图。
答案 0 :(得分:6)
您可以使用ajax请求从jsp发送人员ID,您可以在 controller(serveResource方法)中获取数据 即
您需要创建网址
<portlet:resourceURL var="resourceURL" >
</portlet:resourceURL>
Ajax Call
$.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
答案 1 :(得分:0)
public void serveResource(ResourceRequest resourceRequest, ResourceResponse resourceResponse) {
Map<String, Object> data = new HashMap<String, Object>();
data.put("test1", "test1test1test1test1test1");
super.writeJSON(request, response, new Gson().toJson(data));
}