我正在阅读“Play for Java”一书,并尝试使用示例代码。现在我遇到了问题:通过运行此示例代码
import ...
public class Application extends Controller {
public static Result index() {
...
...
List<StockItem> items = StockItem.find()
.findList();
return ok(items);
}
}
ECLIPSE返回错误消息“结果类型中的方法ok(内容)不适用于参数(列表)”。
有人知道如何解决它吗?谢谢你的时间。
答案 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()
接受String
,JSON
(武装写作),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