I am trying to figure out what tag is beeing expected...

This is my base page markup

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
http://www.w3.org/TR/html4/loose.dtd";>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<html>
<wicket:head>
</wicket:head>
<body>
    <div wicket:id="tabs" class="tabpanel">[tabbed panel will be here]</div>
    <div class="spacer"></div>
    <wicket:child/>
</body>
</html>

This is my basepage implementation

public class BasePage extends WebPage {
    private final List<ITab>tabs = new ArrayList<ITab>();

    public BasePage() {
        inicializaComponentes();
        add(new AjaxTabbedPanel("tabs", tabs));
    }

    @SuppressWarnings("unchecked")
    private void inicializaComponentes(){
        tabs.add(new CadastroTab(new Model ("Cadastro")));
    }
}

This is the implementation of CadastroTab
public class CadastroTab extends AbstractTab {
    private static final long serialVersionUID = 4682446014181156021L;

    public CadastroTab(IModel<String> id) {
        super(id);
        // TODO Auto-generated constructor stub
    }

    @Override
    public Panel getPanel(String arg0) {
        // TODO Auto-generated method stub
        Panel painel = new CadastroPanel(arg0);
        return painel;
    }
}

This is the markup of CadastroPainel

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
http://www.w3.org/TR/html4/loose.dtd";>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<html>
<body>
    <div wicket:id="tabs" class="tabpanel">[tabbed panel will be here]</div>
</body>
</html>

This is the Implementation of CadastroPanel

public class CadastroPanel extends Panel {
    private static final long serialVersionUID = 4682446014181156004L;
    private final List<ITab> tabs = new ArrayList<ITab>();

    public CadastroPanel(String id) {
        super(id);
        inicializaTabs();
        add(new AjaxTabbedPanel("Cadastro", tabs));

        // TODO Auto-generated constructor stub
    }

    private void inicializaTabs() {
        tabs.add(new AbstractTab(new Model("Categoria")) {
            public Panel getPanel(String panelId) {
                return new CadastroCategoriaPanel(panelId);
            }
        });
    }
}

And the last part if the Markup of CadastroCategoriaPanel and its markup

public class CadastroCategoriaPanel extends Panel {
    private static final long serialVersionUID = 4682446014181156010L;

    public CadastroCategoriaPanel(String id) {
        super(id);
        // TODO Auto-generated constructor stub
    }
}

<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml"; >
<wicket:panel>
<br/>
This is tab-panel 3
</wicket:panel>
</html>


The error that I get is this

WicketMessage: Tag expected
[markup =
file:/E:/Daniel/Projetos/ecommFwkBackOffice/target/classes/com/jasp/ecommfwk/pages/common/layout/panels/CadastroPanel.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
http://www.w3.org/TR/html4/loose.dtd";>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<html>
<body>
<div wicket:id="tabs" class="tabpanel">[tabbed panel will be here]</div>
</body>
</html>, index = 5, current = [Raw markup]]

Root cause:

org.apache.wicket.markup.MarkupException: Tag expected
[markup =
file:/E:/Daniel/Projetos/ecommFwkBackOffice/target/classes/com/jasp/ecommfwk/pages/common/layout/panels/CadastroPanel.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
http://www.w3.org/TR/html4/loose.dtd";>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<html>
<body>
<div wicket:id="tabs" class="tabpanel">[tabbed panel will be here]</div>
</body>
</html>, index = 5, current = [Raw markup]]
at
org.apache.wicket.markup.MarkupStream.throwMarkupException(MarkupStream.java:465)
at org.apache.wicket.markup.MarkupStream.getTag(MarkupStream.java:269)
at
org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:639)
at
org.apache.wicket.markup.html.panel.Panel.onComponentTagBody(Panel.java:114)
at org.apache.wicket.Component.renderComponent(Component.java:2596)
at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1521)
at org.apache.wicket.Component.render(Component.java:2421)
at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1399)
at
org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1586)
at
org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:668)
at
org.apache.wicket.markup.html.panel.Panel.onComponentTagBody(Panel.java:114)
at org.apache.wicket.Component.renderComponent(Component.java:2596)
at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1521)
at org.apache.wicket.Component.render(Component.java:2421)
at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1399)
at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1537)
at org.apache.wicket.Page.onRender(Page.java:1522)
at org.apache.wicket.Component.render(Component.java:2421)
at org.apache.wicket.Page.renderPage(Page.java:926)
at
org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.respond(BookmarkablePageRequestTarget.java:262)
at
org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:105)
at
org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1200)
at org.apache.wicket.RequestCycle.step(RequestCycle.java:1271)
at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1370)
at org.apache.wicket.RequestCycle.request(RequestCycle.java:501)
at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:455)
at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:288)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:295)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:503)
at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:827)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:511)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:210)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:379)
at
org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:226)
at
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
-- 
"Two rules to succeed in life:
1 - don´t tell people everything you know."
--------
We shall go on to the end.
We shall fight in France
We shall fightover the seas and oceans.
We shall fight with growing confidence and growing strength in the air.
We shall defend our island whatever the cost may be
We shall fight on beaches, we shall fight on the landing grounds,
We shall fight in the fields and in the streets,
We shall fight on the hills.
We shall never surrender.
Winston Churchill

Reply via email to