Lou*_*uth 5 java playframework-2.0
在Java模式下使用play framework 2.0,我想使用URL参数将字符串列表传递给Controller.
给定一个URL,例如:
http://localhost:9000/echo?messages=hello&messages=world
Run Code Online (Sandbox Code Playgroud)
我想调用我的Controller方法:
public static Result echo(List<String> messages){
return ok("Size: " + messages.size());
}
Run Code Online (Sandbox Code Playgroud)
我的路线文件如下所示:
GET /echo controllers.Application.echo(messages: List[String])
Run Code Online (Sandbox Code Playgroud)
但它不起作用.我得到错误声称List [String]没有QueryString绑定器.这对我来说似乎不对,因为这是以前版本中非常标准的功能.有人知道如何使用Java项目将字符串列表传递给控制器吗?
现在,您可以从查询字符串中检索它们:
public static Result echo(){
String[] messages = request().queryString().get("messages");
return ok("Size: " + messages.length);
}
Run Code Online (Sandbox Code Playgroud)
更新:已添加列表绑定器,因此您只需编写以下内容:
public static Result echo(List<String> messages) {
return ok("Size:" + messages.size());
}
Run Code Online (Sandbox Code Playgroud)
确保您的路由定义如下所示:
GET /echo controllers.Application.echo(messages: java.util.List[String])
Run Code Online (Sandbox Code Playgroud)