我试图弄清楚如何使用Scala在Play(2.0)中的控制器操作中进行重定向。
使用
重定向Redirect(routes.Application.index)
工作得很好。
我无法从文档,API或Google中了解到如何在通话中添加参数。
我来自Grails,可以通过以下方式轻松完成:
重定向行动:"索引",参数:["键":"值"]
我找到的唯一方法是使用字符串url和查询字符串调用Redirect,这看起来很尴尬。
基本上我想以某种方式使用Redirect(Call),但我不知道如何使用反向路由创建Call对象。
我错过了什么/没有在Play / Scala中获取概念?
提前致谢!
答案 0 :(得分:16)
Ellou'
路由只是一个函数,所以你可以像往常一样传递参数:
// Redirect to /hello/Bob
def helloBob = Action {
Redirect(routes.Application.hello("Bob"))
}
此代码段来自http://www.playframework.org/documentation/2.0/ScalaRouting(位于底部)
答案 1 :(得分:0)
您还可以避免在控制器中为此创建另一个功能。在您的路线配置中,您只需添加以下内容:
GET /google @controllers.Default.redirect(to = "http://google.com")