首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Liferay ajax请求和JSON响应

Liferay ajax请求和JSON响应
EN

Stack Overflow用户
提问于 2013-07-19 11:25:07
回答 2查看 13.1K关注 0票数 5

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

例如:属性为personIDpersonWeightpersonTemperaturedatetime的人员存储在数据库中。

我想做一个personID的ajax调用,以查看他的权重温度图的特定时间线。据我所知,我可以从数据库调用list到控制器,但我不知道如何将其转换为JSON并根据请求将其转发给JSP,这样JSP就不会刷新页面而是显示新的图形。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-19 11:46:48

您可以使用ajax请求从jsp发送person id,还可以在控制器(serveResource方法)中获取数据。

您需要创建URL

代码语言:javascript
复制
<portlet:resourceURL var="resourceURL" >
</portlet:resourceURL>

Ajax调用

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

控制器部件

代码语言:javascript
复制
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

票数 8
EN

Stack Overflow用户

发布于 2018-03-30 08:25:52

代码语言:javascript
复制
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));
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17744933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档