Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Wicket-通过LoginPage传递页面参数_Java_Wicket_Wicket 6 - Fatal编程技术网

Java Wicket-通过LoginPage传递页面参数

Java Wicket-通过LoginPage传递页面参数,java,wicket,wicket-6,Java,Wicket,Wicket 6,我试图做的是一个简单的页面,它获取一个参数,这是一个对象的id @MountPath("share/${share_id}") public class IndexPage extends WebPage { public IndexPage(PageParameters parameters) { String id = parameters.get("share_id").toSt

我试图做的是一个简单的页面,它获取一个参数,这是一个对象的id

    @MountPath("share/${share_id}")
    public class IndexPage extends WebPage
    {
            public IndexPage(PageParameters parameters)
            {
                    String id = parameters.get("share_id").toString();
                    // etc...
            }
    }
此页面必须防止未经授权的访问。我在扩展AuthenticatedWebApplication的MainApplication中添加了@AuthorizationInstantiation(“user”)注释并管理了标准Wicket安全支持,包括getSignInPageClass()

问题是当我需要在使用原始参数进行授权后返回InExpage时。我得到了一些解决方案,但我需要它更优雅、更普通(通用)

  • 重写应用程序类中的RestartResponseAsignInPage()方法
  • 从RequestCycle检索参数:

  • 通过抛出新的RestartResponseAtInterceptPageException(getSignInPageClass(),newParameters)传递它们

  • 我知道这不是一个好的解决方案,因为我需要确定url中参数的确切索引是什么(编码器只返回indexedParameters,而不是namedParameters,或者我做错了什么?)


    也许有人以前遇到过这个问题?

    在您的Siginpage中,验证登录后,调用
    continuetooriginaldestation()

    这应该能奏效

    final Request request = RequestCycle.get().getRequest();
    PageParametersEncoder encoder = new PageParametersEncoder();
    PageParameters parameters = encoder.decodePageParameters(request.getUrl());