如何从Play中的http.context获取路径的动态部分!骨架

时间:2013-08-22 14:15:48

标签: java playframework-2.0

我正在使用带有Java的play2 Framework有这样的路由:

GET   /clients/:id          controllers.Clients.show(id: Long)  

此外,我通过添加@With(BeforeHandler.class)来使用动作组合来进行回调。现在我想检查传递给我的BeforeHandler中已有的动作的id。实际上它应该在Http.Context中的某个地方传递给我的BeforeHandler的调用方法。我能找到的所有东西都有一个带有解析静态参数的地图,如被称为控制器,称为动作和完整路径。我还在ctx._requestHeader().queryString()中找到了一个queryString()地图。

我在哪里可以找到动态部分:id?

1 个答案:

答案 0 :(得分:0)

使用queryString,您正在尝试检查类似的内容  /clients?id=2

getQueryString("id")
 将返回2

在你的情况下,你应该制作一个正则表达式来找到你需要的东西,或类似的东西:

String[] paths = ctx.request().path().split("/");
Long id = Long.getLong(paths[2]);