我在检票口中有一个页面,并且有一个列表视图。从列表视图中,我正在打开一个面板。 现在这部分工作正常。我可以正确关闭它,并且可以检测页面组件。现在在面板(父面板)中,我有一个按钮,使用它可以打开另一个面板(子面板)。子面板,它显示无法从父面板检测到组件。我想知道我们如何才能使父面板组件以前打开?
this.showPanel = new MyAjaxButton("show_status_button",new Model<>(getString("label.show_status_button")));
this.showPanel.setCommand(new AbstractButtonCommand<Serializable>() {
private static final long serialVersionUID = -4885881327074792340L;
@Override
public void submit(AjaxRequestTarget target,Form<?> form) {
DataProvider dp = new DataProvider();
MyBean id = dp.getId(bean);
String contentId=modalWindow.getcontentId();
modalWindow.setContent(new ShowPanel(id));
modalWindow.setInitialWidth(NEW_STATUS_PANEL_WIDTH);
modalWindow.setInitialHeight(NEW_STATUS_PANEL_HEIGHT);
modalWindow.setCloseButtonCallback(callback)
modalWindow.setWindowClosedCallback(new WindowClosedCallback() {
private static final long serialVersionUID = 1L;
@Override
public void onClose(AjaxRequestTarget target) {
target.add(container); //this panel's container
}
});
modalWindow.show(target);
}
我得到的错误:
org.apache.wicket.request.handler.ComponentNotFoundException: Could not find component 'form:panel:content:container:show_status_button' on page 'class ps.web.MyPage.pages.DisPage
at org.apache.wicket.request.handler.PageAndComponentProvider.getcomponent(PageAndComponentProvider.java:181)
at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.getcomponent(ListenerInterfaceRequestHandler.java:92)
at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:239)
at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:784)
at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:255)
at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:212)
at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:283)
at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:188)
at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:244)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.accessLogValve.invoke(accessLogValve.java:931)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)