Play Framework - 使用params重定向

时间:2012-04-04 21:20:05

标签: scala playframework playframework-2.0

我试图弄清楚如何使用Scala在Play(2.0)中的控制器操作中进行重定向。

使用

重定向
Redirect(routes.Application.index)

工作得很好。

我无法从文档,API或Google中了解到如何在通话中添加参数。

我来自Grails,可以通过以下方式轻松完成:

  

重定向行动:"索引",参数:["键":"值"]   

我找到的唯一方法是使用字符串url和查询字符串调用Redirect,这看起来很尴尬。

基本上我想以某种方式使用Redirect(Call),但我不知道如何使用反向路由创建Call对象。

我错过了什么/没有在Play / Scala中获取概念?

提前致谢!

2 个答案:

答案 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")