0

我需要从 url 检索参数。当我在网页级别执行此操作时,这是一个简单的案例 - 可以通过以下方式完成:

    @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

有没有更好的办法???

4

1 回答 1

3

您已经掌握了Request- 现在只需遵循 API :-)

Request req = RequestCycle.get().getRequest();
IRequestParameters params = req.getRequestParameters();
StringValue idValue = params.getParameterValue("id");

你去吧。

于 2013-04-11T12:29:40.210 回答