如何在Play Framework中的Redirect上传递营销参数

时间:2014-01-22 16:21:18

标签: playframework playframework-2.0

我有一个控制器根据一组规则“从任何地方”解析到原点:

/从任何地方/到任何地方/下一3个月/质量/任何预算?testParam =测试

def showFromAnywhere(category:String,duration:String,destination:String,dateRange:String,segment:String,budget:String)

< - 解决“来自任何地方”的行动 - >

然后打电话:

重定向(routes.Frontoffice.showFromOrigin(category,duration,userOrigin,destination,dateRange,segment,budget))

然而,当发回303响应时,它会删除“testParam = test”。

例如。 / from-london / to-anywhere / next-3-months / quality / any-budget

这些参数不在控制器中使用,而是在客户端页面上的javascript中用于跟踪营销参数(即,您的典型营销参数:utm_source = kikolani& utm_medium = 320banner& utm_campaign = bpp)。

有没有办法传递给重定向这些参数?

2 个答案:

答案 0 :(得分:2)

您可以从Request对象中检索rawQueryString。

如果你想进行重定向并保留params(例如Google Analytics)这里是代码

Redirect(routes.Application.index() + "?" + request.rawQueryString)

答案 1 :(得分:0)

你可以将它变成一个字符串,将你想要的字符串附加到该字符串,然后使用该字符串重定向:

def catchall = Action { implicit req =>
  Redirect(routes.Application.index(regular, params).url + "&some=stuff")
}
相关问题