java - Wicket:避免 302 重定向到主页

标签 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);
...

但这只导致了 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/

相关文章:

java - 表 ""不存在,跳过,表未映射

java - 我可以在 wicket 生成的 html 页面上使用 Selenium 访问属性键吗?

Wicket 口复合行为

java - Servlet 过滤器不适用于 AppEngine 手动缩放

java - tomcat中的过滤器

java - 如何通过 Uploadify 将 session cookie 传递给 Play?

Java 泛型 - 为什么构造函数中的这个赋值是非法的?

java - 可以在后端运行 spring boot 应用程序吗?

java - 如何获取 Wicket DropDownChoice 中选定的值?

java - 我如何获得实现 CometProcessor 接口(interface)的 servlet 的请求以通过过滤器