0

我是 MVC 和 Play 框架(Java)的新手。我没有将 Groovy 用于动态 HTML,而是使用静态 HTML 创建了我们自己的页面,我的意思是我们没有任何 Groovy 表达式。在这里,我有一个控制器“客户”,生成 JSON 对象,该对象必须发送到视图中的 ajax 调用。我尝试了 render() 方法,似乎我没有正确使用。你能给我一些想法从这里转发吗?谢谢。

public static void customer(){
    WordAPI objWordAPI=new WordAPI();
    List<WordInfo> listObjWord= objWordAPI.MakeAPIObject(nSurveyId);
    JSONSerializer modelSerializer=new JSONSerializer().exclude("NSpontanity","NWordRepresentativity","NWordValue","NWordFrequency","class").rootName("Words");
    render("Application/wordcloud.html",modelSerializer.serialize(listObjWord));
  }

并在视图“wordcloud.html”中调用 ajax

$.ajax({
    url: "/customer",
    dataType : 'json',
    success: function (data) {
        alert(data);
             }
        })
4

1 回答 1

0

我相信这应该有效:

public static void customer(){
    WordAPI objWordAPI=new WordAPI();
    List<WordInfo> listObjWord= objWordAPI.MakeAPIObject(nSurveyId);
    JSONSerializer modelSerializer=new JSONSerializer().exclude("NSpontanity","NWordRepresentativity","NWordValue","NWordFrequency","class").rootName("Words");
    renderJSON(modelSerializer.serialize(listObjWord));
  }

我以前从未使用过 rootName,我通常只是做类似这样的事情:

public static void refreshNotifications()
    {
        JSONSerializer notifySerializer = new JSONSerializer().include("message","notifyId","class").exclude("*");
        List<Notification> notificationList = user.getNotifications();
        renderJSON(notifySerializer.serialize(notificationList));
    }

旁注:使用 refreshNotifications 我有一个安全方法,我在它之前运行验证并填充用户对象。

于 2012-09-26T17:42:35.417 回答