Wicket继承和编辑Base Page的组件值。

时间:2013-07-25 02:31:52

标签: label wicket

目前我有我的基页,它定义了菜单,内容,标题和页脚div。我设置我的孩子在内容区域..但我有一个标题栏,跨越我的标题和内容页面之间的顶部..在这里(标题栏)我设置一个标签,标签哪个菜单项页面用户目前正在使用

当我转到子页面时,我希望菜单栏的标题更改为子页面的名称..有没有办法从子代码中更改父项组件的这个标签?

我尝试使用getParent()。add(new Lable ....)并且这不起作用..所以现在,在父页面中我只有一个静态字符串,我在每个onClick之前更改了工作,但我觉得有可能更好的方式使用模型..我仍然明白这些是如何工作的。

谢谢!

1 个答案:

答案 0 :(得分:2)

试试这个:

public abstract class ParentClass extends Page {

    public ParentClass(String title) {
        Label pageTitle = new Label("title", title);
        add(pageTitle);
        //add header, footer, and all you need...
    }
}

你的孩子班:

public class ChildClass extends ParentClass {

    private static final String TITLE = "This is the title of the ChildClass";

    public ParentClass() {
        super(TITLE);
        //all the other code...
    }
}

你尝试过这种方法吗?由于您的所有页面都必须从ParentClass继承,并且无法实例化ParentClass,因此它应该完成工作......

我的示例是假设您使用此模式添加页眉和页脚:

http://wicket.apache.org/learn/examples/markupinheritance.html