1

ウィケットでタブ付きパネル ページの例を実装しようとしていますが、機能しません。現在のシナリオには必要ないと思われるいくつかのメソッドを取り除きました。何かを逃したかどうかはわかりません。提案してください。

TabbedPanelPage Java:

 public class TabbedPanelPage extends WebPage {
            Logger log = Logger.getLogger(TabbedPanelPage.class);
            private static final long serialVersionUID = 1L;

            public TabbedPanelPage() {
                    setDefaultModel(new Model<String>("tabpanel"));
                    log.info("Constructor: ");
                    List<ITab> tabs = new ArrayList<ITab>();
                    log.info("AbstractTab : 1");
                    tabs.add(new AbstractTab(new Model<String>("first tab")) {
                            private static final long serialVersionUID = 1L;

                            @Override
                            public Panel getPanel(String panelId) {
                                    log.info("getPanel: 1");
                                    return new TabPanel1(panelId);
                            }

                    });
                    log.info("AbstractTab : 2");
                    tabs.add(new AbstractTab(new Model<String>("second tab")) {
                            private static final long serialVersionUID = 1L;

                            @Override
                            public Panel getPanel(String panelId) {
                                    log.info("getPanel: 2");
                                    return new TabPanel2(panelId);
                            }

                    });
                    log.info("AbstractTab : 3");
                    tabs.add(new AbstractTab(new Model<String>("third tab")) {
                            private static final long serialVersionUID = 1L;

                            @Override
                            public Panel getPanel(String panelId) {
                                    log.info("getPanel: 3");
                                    return new TabPanel3(panelId);
                            }

                    });

                    add(new TabbedPanel("tabs", tabs));

            }

            private static class TabPanel1 extends Panel {
                    private static final long serialVersionUID = 1L;
                    Logger log = Logger.getLogger(TabPanel1.class);

                    public TabPanel1(String id) {
                            super(id);
                            log.info("TabPanel1");
                    }

            }

            private static class TabPanel2 extends Panel {
                    private static final long serialVersionUID = 1L;
                    Logger log = Logger.getLogger(TabPanel2.class);

                    public TabPanel2(String id) {
                            super(id);
                            log.info("TabPanel1");
                    }

            }

            private static class TabPanel3 extends Panel {
                    private static final long serialVersionUID = 1L;
                    Logger log = Logger.getLogger(TabPanel3.class);

                    public TabPanel3(String id) {
                            super(id);
                            log.info("TabPanel1");
                    }

            }
    }

TabbedPanelPage マークアップ:

     <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
        <head>
        <title>Wicket Examples - component reference</title>
        </head>
        <body>
            <div wicket:id="tabs">[tabbed panel will be here]</div>
        </body>
        </html>

TabPanel1 マークアップ:

    <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
        <wicket:panel>
        <br />
        This is tab-panel 1
        </wicket:panel>
        </html>

これはログです:

コンストラクタ:
AbstractTab : 1
AbstractTab : 2
AbstractTab : 3
getPanel: 1
TabPanel1.

私のアプリケーションはこの時点で終了します。前もって感謝します。

K

4

1 に答える 1

0

解決策を見つけました。コードに問題はありません。問題は tabpanel のマークアップの命名にありました。tabpanel は TabbedPanelPage クラス内にあるため、マークアップはそれに応じて命名されました。

例えば。

TabPanel1 のマークアップ ページは、TabPanelPage$TabPanel1.html である必要があります

乾杯

于 2014-12-18T07:42:15.150 に答える