我在“分配静态参数”
部分中查看此示例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
答案 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
为其他任何内容时,它会使该变量可用于模板...