Wicket:避免302重定向到主页

Mot*_*Mot 0 java wicket servlet-filters

我们的基于wicket的网站已将主页安装为/index.html.目前,当用户进入www.ourdomain.com浏览器时,wicket会自动发送302重定向www.ourdomain.com/index.html.出于某些原因,我想避免这种重定向.

我试过一个ServletFilter实现

...
request.getRequestDispatcher("/index.html").forward(request, response);
...
Run Code Online (Sandbox Code Playgroud)

但这只引起了404响应.我也尝试修改StringBuffer返回的request.getRequestURL()后跟,chain.doFilter(request, response);但也没有成功.

还有什么我可以尝试让wicket返回主页(没有安装在不同的路径上)为no-path-URL?

Ran*_*eis 5

把它放在init()应用程序类的方法中

    @Override
public void init() {
    super.init();
    getRequestCycleSettings().setRenderStrategy(IRequestCycleSettings.RenderStrategy.ONE_PASS_RENDER);
}
Run Code Online (Sandbox Code Playgroud)

看看我的默认init()方法

    @Override
public void init() {
    super.init();
    getResourceSettings().setResourcePollFrequency(isTest() ? ONE_SECOND : null);
    getResourceSettings().setDefaultCacheDuration(isTest() ? MAXIMUM : null);
    getMarkupSettings().setCompressWhitespace(true);
    getMarkupSettings().setStripComments(true);
    getMarkupSettings().setStripWicketTags(true);
    getRequestCycleSettings().setRenderStrategy(IRequestCycleSettings.RenderStrategy.ONE_PASS_RENDER);
}
Run Code Online (Sandbox Code Playgroud)

在wicket 6中使用:

getRequestCycleSettings().setRenderStrategy(RenderStrategy.ONE_PASS_RENDER);
Run Code Online (Sandbox Code Playgroud)