0

Java Web アプリケーション プロジェクトで Apache Wicket Framework を使用しています。Apache Wicket の WebPage から継承された BasePage があります。

管理ページへのアクセス中にユーザーを認証するために BasePage から継承された AdminBasePage が必要ですが、html マークアップをレンダリングできないというエラーが表示されます。Java クラスにコードを追加したが、html マークアップを追加するのを忘れた可能性があります。

ここに私のベースページがあります:

HTML:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns:wicket="http://wicket.apache.org">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
        <title>BasePage</title>
        <link rel="stylesheet" type="text/css" href="style.css"/>
    </head>
    <body>
        <wicket:child>

        </wicket:child>
    </body>
</html>

Java: パッケージ com.myapp.wicket;

import org.apache.wicket.markup.html.WebPage;

public abstract class BasePage extends WebPage{

    public BasePage () {
        super();
    }
}

ここに私の AdminBasePage があります:

HTML:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns:wicket="http://wicket.apache.org">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
        <title>AdminBasePage</title>
        <link rel="stylesheet" type="text/css" href="style.css"/>
    </head>
    <body>
    </body>
</html>

Java: パッケージ com.myapp.wicket.admin;

import com.myapp.wicket.BasePage;

public abstract class AdminBasePage extends BasePage {

    public AdminBasePage() {
        super();
    }
}

私は何を間違っていますか?私は何をすべきか?何か提案してもらえますか?ありがとう。

4

1 に答える 1

3

AdminBasePage のマークアップに次のものがありません。

<wicket:extend>
</wicket:extend>

... または単に AdminBasePage.html を削除します

ここでもっと読む:

https://cwiki.apache.org/WICKET/markup-inheritance.html

于 2012-11-28T06:56:18.447 に答える