0

「Play for Java」という本を読んで、サンプルコードを試しています。今、私は問題に行き詰まりました: このサンプルコードを実行することによって

import ...

public class Application extends Controller {

  public static Result index() {

    ...
    ...

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

  }

}

ECLIPSE は、「タイプ Results のメソッド ok(Content) は引数 (List) には適用できません」というエラー メッセージを返しました。

誰かが私がそれを解決する方法を知っていますか? お時間をいただきありがとうございます。

4

2 に答える 2

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));
  }

}

結果クラスのソースコードから表示できる「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

于 2012-07-27T05:43:37.907 に答える
3

ok()StringJSON(武装が書いたように)、FileまたはそうではありInputStreamませ 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

@(items: List[StockItem])

<ul>
  @for(item <- items){
    <li>@item.title</li>
  }
</ul>
于 2012-07-27T07:15:38.970 に答える