Playframework:方法ok(内容)不适用于List类型参数?

时间:2012-07-27 02:08:25

标签: java playframework playframework-2.0

我正在阅读“Play for Java”一书,并尝试使用示例代码。现在我遇到了问题:通过运行此示例代码

import ...

public class Application extends Controller {

  public static Result index() {

    ...
    ...

        List<StockItem> items = StockItem.find()
                .findList();
        return ok(items);

  }

}

ECLIPSE返回错误消息“结果类型中的方法ok(内容)不适用于参数(列表)”。

有人知道如何解决它吗?谢谢你的时间。

2 个答案:

答案 0 :(得分:3)

这取决于您要返回的数据格式(JSON,XML等)。 示例显示了JSON结果:

import ...

public class Application extends Controller {

  public static Result index() {
    List<StockItem> items = StockItem.find().findList();
    return ok(Json.toJson(items));
  }

}

您可以从Results类的源代码中查看“ok”方法的所有变体:https://github.com/playframework/Play20/blob/master/framework/src/play/src/main/java/play/mvc/Results.java

或javadoc:http://www.playframework.org/documentation/api/2.0.2/java/play/mvc/Results.html

答案 1 :(得分:3)

ok()接受StringJSON(武装写作),File甚至InputStream {{1 (check in the code

很可能您希望返回呈现的List

view

import views.html.yourview; public class Application extends Controller { public static Result index() { List<StockItem> items = StockItem.find().findList(); return ok(yourview.render(items)); } }

/app/views/yourview.scala.html