0

目前我有我的基本页面,它定义了菜单、内容、标题和页脚 div。我将我的孩子设置在内容区域内.. 但是我有一个标题栏,它跨越我的标题和内容页面之间的顶部.. 在这里(标题栏)我设置了一个标签,用于标记哪个菜单项页面用户当前处于开启状态。

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

我尝试使用 getParent().add(new Lable....) 但这不起作用.. 所以到目前为止,在父页面中我只有一个静态字符串,我在每个 onClick 之前更改它,但是我觉得使用模型可能有更好的方法。我仍然了解它们是如何工作的。

谢谢!

4

1 回答 1

3

尝试这个:

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

于 2013-07-25T15:47:46.013 回答