gpt4 book ai didi

java - 将所有请求重定向到 Wicket 中的特定页面

转载 作者:行者123 更新时间:2023-12-01 21:18:38 25 4
gpt4 key购买 nike

我正在使用 Wicket 6.x,我想实现经典的“站点正在维护”页面,所有请求都应根据条件重定向到该页面。

但是,我不想在每个页面上都编写重定向检查,因为那是多余的。

有没有办法可以从一个地方拦截所有请求、进行检查并在必要时执行重定向?

最佳答案

您可以使用 IRequestCycleListener#onBeginRequest() + requestCycle.setResponsePage(MaintainancePage.class)

在 MyApp#init() 中注册您的监听器:getRequestCycleListeners().add(newMaintainanceListener())

这是一个可能的解决方案:

public class MaintainanceListener extends AbstractRequestCycleListener {

@Override
public void onRequestHandlerResolved(RequestCycle cycle, IRequestHandler handler) {
super.onRequestHandlerResolved(cycle, handler);
if (handler instanceof IPageRequestHandler && isMaintainanceMode()) {
final Class<? extends IRequestablePage> pageClass = ((IPageRequestHandler) handler).getPageClass();
if (MaintenancePage.class != pageClass) {
final MySession session = MySession.get();
if (session.getUser() != null) {
session.invalidateNow();
}
cycle.setResponsePage(MaintenancePage.class);
}
}
}
}

关于java - 将所有请求重定向到 Wicket 中的特定页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39489357/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com