问题描述
当我在IRequestCycleListener方法转换下的onRequestHandlerResolved()上挣扎时,我正在进行Wicket 8. *迁移。
按照我在代码小门7.15.0中的逻辑结构
public class MyRequestCycleListener extends AbstractRequestCycleListener{
//All methods override here
@Override
public void onRequestHandlerResolved(RequestCycle cycle,IRequestHandler handler) {
if (handler instanceof ListenerInterfaceRequestHandler) {
ListenerInterfaceRequestHandler requestHandler = (ListenerInterfaceRequestHandler) handler;
if (requestHandler.getListenerInterface().getListenerInterfaceClass().isAssignableFrom( IFormSubmitListener.class)) {
//here made some login as well as every onSubmit
}
}
}
}
随着检票口8. *的变化 AbstractRequestCycleListener类转换为IRequestCycleListener接口 ListenerInterfaceRequestHandler重命名为ListenerRequestHandler 弃用RequestListenerInterface,并且IFormSubmitListener也会出错
如何在wicket 8.9.0上将代码转换为迁移?
解决方法
应该是这样的:
public class MyRequestCycleListener implements IRequestCycleListener{
@Override
public void onRequestHandlerResolved(RequestCycle cycle,IRequestHandler handler) {
if (handler instanceof ListenerRequestHandler) {
ListenerRequestHandler requestHandler = (ListenerRequestHandler) handler;
if (requestHandler.getComponent() instanceof Form) {
//here made some login as well as every onSubmit
Form form = (Form) requestHandler.getComponent();
}
}
}
}