我需要从url中检索参数。当我在WebPage级别执行此操作时,这是一个简单的情况 - 它可以通过这样的方式完成:
@MountPath(INDEX_PREFIX + "/${" + OBJECT_ID_KEY + "}")
public class IndexPage extends WebPage
{
public IndexPage(PageParameters parameters)
{
String id = parameters.get(OBJECT_ID_KEY).toString();
// etc...
}
}
但我需要在 getRoles()方法会话级上完成。
我是这样做的:
@Override
public Roles getRoles()
{
final Request request = RequestCycle.get().getRequest();
List<String> segments = request.getUrl().getSegments();
if (segments != null && segments.size() > 1 && INDEX_PREFIX.equals(segments.get(0)))
{
String id = segments.get(1);
}
// etc...
}
网址结构如下所示: www.my.page.com/index/5
索引 - INDEX_PREFIX
5 - OBJECT_ID_KEY
有更好的方法???
答案 0 :(得分:3)
您已经拥有Request
- 现在只需按照API: - )
Request req = RequestCycle.get().getRequest();
IRequestParameters params = req.getRequestParameters();
StringValue idValue = params.getParameterValue("id");
然后你去。