在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项目将字符串列表传递给控制器吗?
答案 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])