我是Liferay新来的。我使用服务构建器创建数据库。我手动填充了它们。最后,我可以使用PersonLocalServiceUtil class在JSP中调用它们。现在,我想在我的程序中使用Ajax。
例如:属性为personID、personWeight、personTemperature和datetime的人员存储在数据库中。
我想做一个personID的ajax调用,以查看他的权重或温度图的特定时间线。据我所知,我可以从数据库调用list到控制器,但我不知道如何将其转换为JSON并根据请求将其转发给JSP,这样JSP就不会刷新页面而是显示新的图形。
发布于 2013-07-19 11:46:48
您可以使用ajax请求从jsp发送person id,还可以在控制器(serveResource方法)中获取数据。
您需要创建URL
<portlet:resourceURL var="resourceURL" >
</portlet:resourceURL>Ajax调用
$.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
发布于 2018-03-30 08:25:52
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));
}https://stackoverflow.com/questions/17744933
复制相似问题