Wicket面板(Dialog)不工作?

时间:2013-02-01 07:21:28

标签: java html wicket

我正在尝试使用新的Dialog()在注册链接上打开一个对话框,如下所示 “注册”& “registerpanel”这些是我作为wicket添加到html页面中的两个div:id =“register”&检票:ID = “registerpanel”

//注册面板

registerDialog = new Dialog("register");
registerDialog.add(new CustomerRegistrationPanel("registerpanel", registerDialog));
add(registerDialog);

        // Register
        lnkRegister = new AjaxFallbackLink<String>("lnkRegister") {

            @Override
            public void onClick(AjaxRequestTarget ajaxRequestTarget) {
                // ajaxRequestTarget.add(registerPanel);
                registerDialog.open(ajaxRequestTarget);
                //setResponsePage(CustomerProfilePage.class);
            }

            @Override
            public boolean isVisible() {
                return !ZipSession.get().isValid();
            }
        };
        add(lnkRegister);

但我得到了一个错误,

根本原因:

org.apache.wicket.markup.MarkupNotFoundException: Failed to find markup file associated. CustomerRegistrationPanel: [CustomerRegistrationPanel [Component id = register]]
at org.apache.wicket.markup.html.panel.AssociatedMarkupSourcingStrategy.getMarkup(AssociatedMarkupSourcingStrategy.java:97)
at org.apache.wicket.MarkupContainer.getMarkup(MarkupContainer.java:448)
at org.apache.wicket.Component.getMarkup(Component.java:737)
at org.apache.wicket.Component.getMarkupTag(Component.java:1422)
at org.apache.wicket.Component.getMarkupIdFromMarkup(Component.java:777)
at org.apache.wicket.Component.getMarkupIdImpl(Component.java:1479)
at org.apache.wicket.Component.getMarkupId(Component.java:1525)
at org.apache.wicket.Component.getMarkupId(Component.java:1592)
at com.visural.wicket.component.dialog.Dialog$1.getDivId(Dialog.java:68)
at com.visural.wicket.component.dialog.Dialog$1.getJS(Dialog.java:59)
at com.visural.wicket.component.dialog.Dialog$1.renderHead(Dialog.java:54)
at org.apache.wicket.Component.renderHead(Component.java:2707)
at org.apache.wicket.markup.renderStrategy.ChildFirstHeaderRenderStrategy$1.component(ChildFirstHeaderRenderStrategy.java:82)
at org.apache.wicket.markup.renderStrategy.DeepChildFirstVisitor.visit(DeepChildFirstVisitor.java:96)
at org.apache.wicket.markup.renderStrategy.DeepChildFirstVisitor.visit(DeepChildFirstVisitor.java:87)
at org.apache.wicket.markup.renderStrategy.DeepChildFirstVisitor.visit(DeepChildFirstVisitor.java:87)
at org.apache.wicket.markup.renderStrategy.DeepChildFirstVisitor.visit(DeepChildFirstVisitor.java:87)
at org.apache.wicket.markup.renderStrategy.DeepChildFirstVisitor.visit(DeepChildFirstVisitor.java:51)
at org.apache.wicket.markup.renderStrategy.ChildFirstHeaderRenderStrategy.renderChildHeaders(ChildFirstHeaderRenderStrategy.java:77)
at org.apache.wicket.markup.renderStrategy.ChildFirstHeaderRenderStrategy.renderHeader(ChildFirstHeaderRenderStrategy.java:56)
at org.apache.wicket.markup.html.internal.HtmlHeaderContainer.onComponentTagBody(HtmlHeaderContainer.java:134)
at org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.onComponentTagBody(DefaultMarkupSourcingStrategy.java:72)
at org.apache.wicket.Component.internalRenderComponent(Component.java:2556)
at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1534)
at org.apache.wicket.Component.internalRender(Component.java:2386)
at org.apache.wicket.Component.render(Component.java:2314)
at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1432)
at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1596)
at org.apache.wicket.Page.onRender(Page.java:907)
at org.apache.wicket.markup.html.WebPage.onRender(WebPage.java:140)
at org.apache.wicket.Component.internalRender(Component.java:2386)
at org.apache.wicket.Component.render(Component.java:2314)
at org.apache.wicket.Page.renderPage(Page.java:1035)
at org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:105)
at org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:224)
at org.apache.wicket.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:167)
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:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:403)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:301)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:162)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:140)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)

Plz帮我解决这个问题。提前谢谢。

3 个答案:

答案 0 :(得分:10)

即使您正确命名并放置了html文件,如果您在其中使用了错误的根元素,也会出现此错误。

例如,从<wicket:extend...>开始,而不是<wicket:panel...>

答案 1 :(得分:4)

当我遇到这个问题时,我没有在这个问题中找到答案,所以我回来给出了我找到的解决方案。这是我对这个问题的检查清单。

  • 检查是否所有&lt; wicket:extend&gt;,&lt;检票:子&GT;和&lt;检票:面板&gt;和标签是正确的(由thoredge和尼基)
  • 检查同一目录中是否有.html a .java wicket文件(作者Robert Niestroj)
  • 检查是否有任何设置可以在.html文件的不同位置进行wicket搜索。
  • 检查Path中区分大小写的操作系统差异(请参阅注释:HaMMeReD)
  • 检查.html文件是否也在构建时复制到与.class文件相同的目录。
  • 检查.html是否也添加到.war文件中。

希望这有助于那些也忘记了他们的ant构建文件中的一行的人们;)

答案 2 :(得分:1)

您似乎缺少类html的{​​{1}}文件。查找名为CustomerRegistrationPanel的文件,查看它是否与.java文件位于同一目录中。