使用get参数id和action方法不起作用来播放框架路由文件

时间:2012-02-07 01:37:43

标签: playframework

我在“分配静态参数”

部分中查看此示例

http://www.playframework.org/documentation/1.2.4/routes

但它没有任何意义,因为它们调用render(page)而不是render(id)。也许这不是我用例的好例子......

我有以下路线......

GET {company}.${envDomain}/dashboard    Dashboard.dashboardPage 

但是我收到一条错误消息,指出找不到以下路径:

GET {company}.dev.xxxxxxx.com/dashboard

有趣的是,它说找不到"GET /dashboard",在我的网址中,我看到{company} .dev.xxxx.com /信息中心的http://dev.xxxx.com/dashboard INSTEAD应该在那里。 ..

为什么路线反转不起作用?

我的dashboardPage源代码就是这样。

public static voi

2 个答案:

答案 0 :(得分:2)

这可以通过Play 1.1(Virtual Hosts)中实现的功能实现。

请确保在进行反向路由时,您使用的是'@@{}'而不是'@{}',如示例所示。

答案 1 :(得分:0)

在了解OP关于无证件功能的评论后编辑

据我所知,你不能在路由中使用与域相关的参数。 它们只涉及Request path

显然play.mvc.Router class中有关于主持人的内容。你还不清楚我......

我的答案的其余部分仍然是一个可行的解决方法......虽然不是很有活力但我承认。

你想要做什么必须可以在前端级别完成......例如。使用nginx捕获子域并将其转换为具有重定向的路径。然后在您的路线中,您可以这样做:

GET /dashboard/{company}/

关于render(虽然这几乎是一个不同的问题):

当您使用String作为第一个参数调用render(param)时,它将转到并加载模板param。当param为其他任何内容时,它会使该变量可用于模板...