我们基于 wicket 的网站已将主页安装为 /index.html
。目前,当用户在浏览器中输入 www.ourdomain.com
时,wicket 会自动将 302 重定向发送到 www.ourdomain.com/index.html
。由于某些原因,我想避免此重定向。
我尝试过 ServletFilter
实现
...
request.getRequestDispatcher("/index.html").forward(request, response);
...
但这只导致了 404 响应。我还尝试修改 request.getRequestURL()
返回的 StringBuffer
,然后修改 chain.doFilter(request, response);
但也没有成功。
我还能尝试什么让 wicket 返回 no-path-URL 的主页(无需安装在不同的路径)?
最佳答案
将其放入应用程序类的 init()
方法中
@Override
public void init() {
super.init();
getRequestCycleSettings().setRenderStrategy(IRequestCycleSettings.RenderStrategy.ONE_PASS_RENDER);
}
看看我的默认 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);
}
在 wicket 6 中使用:
getRequestCycleSettings().setRenderStrategy(RenderStrategy.ONE_PASS_RENDER);
关于java - Wicket:避免 302 重定向到主页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15996913/