如何传递字符串列表

时间:2012-03-16 03:18:56

标签: java playframework-2.0

在Java模式下使用play framework 2.0,我想使用URL参数将字符串列表传递给Controller。

给出如下的URL:

http://localhost:9000/echo?messages=hello&messages=world

我想调用我的Controller方法:

public static Result echo(List<String> messages){
    return ok("Size: " + messages.size());
}

我的路线文件如下所示:

GET      /echo             controllers.Application.echo(messages: List[String])

但它不起作用。我得到错误声称List [String]没有QueryString绑定器。这对我来说似乎不对,因为这是以前版本中非常标准的功能。有人知道如何使用Java项目将字符串列表传递给控制器​​吗?

1 个答案:

答案 0 :(得分:7)

现在您可以从查询字符串中检索它们:

public static Result echo(){
    String[] messages = request().queryString().get("messages");
    return ok("Size: " + messages.length);
}

更新:列表绑定器has been added,因此您只需编写以下内容:

public static Result echo(List<String> messages) {
  return ok("Size:" + messages.size());
}

确保您的路线定义如下所示:

GET   /echo      controllers.Application.echo(messages: java.util.List[String])