Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Wicket中将两个列表属性模型合并为一个模型_Java_Wicket - Fatal编程技术网

Java 如何在Wicket中将两个列表属性模型合并为一个模型

Java 如何在Wicket中将两个列表属性模型合并为一个模型,java,wicket,Java,Wicket,假设我有一个名为E的实体 其结构有两个字段: E { List<A> a1; List<A> a2; } 我有一个中继器,我只想给它一个列表模型 我目前实现这一目标的方法是: PropertyModel<A> a1Model = new PropertyModel(e, "a1"); PropertyModel<A> a2Model = new PropertyModel(e, "a2"); List<A> aItems

假设我有一个名为
E
的实体

其结构有两个字段:

E {
   List<A> a1;
   List<A> a2;
}
我有一个中继器,我只想给它一个列表模型

我目前实现这一目标的方法是:

PropertyModel<A> a1Model = new PropertyModel(e, "a1");
PropertyModel<A> a2Model = new PropertyModel(e, "a2");
List<A> aItems = new ArrayList<A>();
aItems.addAll(a1Model.getObject());
aItems.addAll(a2Model.getObject());
PropertyModel<A> aModel = new PropertyModel<A>(this, "aItems");
List aItems=new ArrayList();
addAll(aModel.getObject());
addAll(a2Model.getObject());
PropertyModel aModel=新的PropertyModel(即“aItems”);
我现在错过了与数据库的连接,因为
e
实际上是在
LoadableDetaccableModel
中给出的。当
e
在该模型内更改时,该值不会自动流动,直到该字段

我也不确定它现在是否成功,但不知何故,用模特儿干扰比赛只会让我鼻子难闻。现在我在字段中只有列表a1,现在我添加a2


如何为字段实现一个模型(实际上是另一个面板)?

您可以创建一个模型,将两个模型组合到
列表中:

IModel listModel=新的LoadableDetachableModel(){
公共列表加载(){
返回Arrays.asList(a1Model.getObject(),a2Model.getObject());
}
}
IModel<List<E>> listModel = new LoadableDetachableModel<List<E>>() {

    public List<E> load() {
        return Arrays.asList(a1Model.getObject(), a2Model.getObject());
    }

}