检索模型中列表元素的嵌套模型

时间:2013-04-11 09:56:25

标签: java wicket-1.5

我遇到了wicket模型和列表的问题。 假设我有一个这样的bean:

public class A{
    private B title;
    private ArrayList<C> childs;
    ...get/set...;
}

我从它new Model<A>(a)创建一个模型,我想检索它的属性的嵌套模型。对于B,这很简单:new PropertyModel(a,"title")

但是如何为每个子C检索嵌套模型? (类型IModel<C>)的模型

感谢。

1 个答案:

答案 0 :(得分:0)

你需要一个Wrapper,它将大部分工作委托给你的实际bean,但是在IModels中包含返回值。

这可能与此类似:

public class ModelWrapper implements IModel<A> {

    private A data;

    public ModelWrapper(A data) {
        this.data = data;
    }

    public IModel<B> getTitle() {
        return new Model(data.getTitle());
    }

    public List<IModel<C>> getChilds() {
        return new List<IModel<C>>() {

            @Override
            public int size() {
                return data.getChilds().size();
            }


            @Override
            public IModel<C> get(int index) {
                return new IModel<C>(data.getChilds().get(index));
            }

            ...

        };
    }
}