5

我是 Liferay 的新手。我使用服务生成器来创建数据库。我手动填充它们。最终我可以在 JSP 中使用PersonLocalServiceUtil class. 现在我想在我的程序中使用 Ajax。

例如:具有personIDpersonWeightpersonTemperature和属性的人datetime存储在数据库中。

我想通过 ajax 调用personID来查看他的体重或特定时间线的温度图。据我所知,我可以从数据库调用列表到控制器但我不知道如何将其转换为JSON对象并根据请求将其转发给 JSP,以便 JSP 不会刷新页面而是显示新图形。

4

2 回答 2

8

您可以使用 ajax 请求从 jsp 发送人员 ID,并且您可以在控制器(serveResource 方法)内获取数据, 即

您需要创建 URL

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

阿贾克斯调用

$.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());

}

高温高压

于 2013-07-19T11:46:48.807 回答
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));
}
于 2018-03-30T08:25:52.630 回答