Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.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
Wicket SetRecreatedMountedPageSafterExpiry将URL更改为servlet_Wicket_Wicket 6 - Fatal编程技术网

Wicket SetRecreatedMountedPageSafterExpiry将URL更改为servlet

Wicket SetRecreatedMountedPageSafterExpiry将URL更改为servlet,wicket,wicket-6,Wicket,Wicket 6,我们最近将应用程序从Wicket 1.5.8升级到6.22.0。当会话过期后发生操作时,我试图将所有页面设置为重定向到特定页面(SessionExpiredPage) public class WicketApplication<HttpsRequestCycleProcessor> extends WebApplication { // other methods omitted public void init() { super.ini

我们最近将应用程序从Wicket 1.5.8升级到6.22.0。当会话过期后发生操作时,我试图将所有页面设置为重定向到特定页面(SessionExpiredPage)

public class WicketApplication<HttpsRequestCycleProcessor> extends WebApplication
{
    // other methods omitted

    public void init()
    {
        super.init();

        getApplicationSettings().setPageExpiredErrorPage(SessionExpiredPage.class);
        getApplicationSettings().setAccessDeniedPage(SessionExpiredPage.class);
        getPageSettings().setRecreateMountedPagesAfterExpiry(false);

        // several other mounted links omitted      
        mount(new MountedMapper("landingpage", LandingPage.class, new UrlPathPageParametersEncoder()));

        // add your configuration here
        getComponentInstantiationListeners().add(new SpringComponentInjector(this));
    }
}
url已从有效的更改为 ,但失败了


有人能解释一下如何解决这个问题吗?

看来Wicket页面和Servlet的路径有不同的深度。

使用
org.apache.wicket.request.UrlUtils#rewriteToContextRelative(relativeUrl,cycle)
使Servlet的url相对于上下文根。

onSubmit()下的最后一行被替换为:

String relativeUrl = UrlUtils.rewriteToContextRelative(redirectUrl, getRequestCycle());
getRequestCycle().scheduleRequestHandlerAfterCurrent(new RedirectRequestHandler(relativeUrl));

这更正了servlet的URL。

SubscriptionPage的装载路径是什么?SubCartTempServlet的servlet映射是什么?
mount(新MountedMapper(“subscriptionpage”,subscriptionpage.class,新UrlPathPageParametersEncoder())`SubsCartTempServlet com.lingualcassica.parser.SubsCartTempServlet 2 SubsCartTempServlet/SubsCartTempServlet/*`
String relativeUrl = UrlUtils.rewriteToContextRelative(redirectUrl, getRequestCycle());
getRequestCycle().scheduleRequestHandlerAfterCurrent(new RedirectRequestHandler(relativeUrl));