Как правильно закрыть дочернюю панель, чтобы определить ее родительскую панель в калитке? - PullRequest
0 голосов
/ 04 ноября 2019

У меня есть страница в калитке, и у меня есть представление списка. Из представления списка я открываю панель. Теперь эта часть работает нормально. Я могу правильно закрыть ее и обнаружить компоненты страницы. Теперь на панели (родительская панель) у меня есть кнопка, с помощью которой я открываю другую панель (дочернюю панель). после закрытиядочерняя панель показывает, что не удается обнаружить компоненты из родительской панели. Я хочу знать, как мы можем открыть компоненты родительской панели ранее?

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)
...