2

我正在尝试访问控制器中的 List[String],所以我编写了代码:我的视图是

@(path:List[String])
   ...
    <button type=submit id=imgButton><a href="@routes.Application.confirmDelete(path)">Delete</a></button>

我的路线是

   GET     /confirmDelete/:path      controllers.Application.confirmDelete(path:List[String])

我的控制器是:

def confirmDelete(path:List[String])=Action{
     Ok("deleted "+path);
     }

但这给了我错误

   No URL path binder found for type List[String]. Try to implement an implicit PathBindable for this type.
4

1 回答 1

5

这里的错误是绝对清楚的。Play 不知道如何序列化List[String]到 uri 和从 uri 序列化。您可以实现隐式PathBindable转换List[String]或将此列表作为逗号分隔并在控制器端从参数String构建。List[String]String

PathBindable关于- http://www.playframework.com/documentation/api/2.1.x/scala/index.html#play.api.mvc.PathBindable的文档

您也可以在此处查看第二种解决方案 - Play framework 2: Use Array[String] in route

于 2013-08-28T09:38:17.313 回答