我有以下模型类(简化)
class A{
private String name;
private List<B> items;
}
class B{
private long from;
private long to;
}
Run Code Online (Sandbox Code Playgroud)
此外,我有Form获取由CompoundPropertyModel绑定的类A. 如果我想显示绑定到name字段的TextField,我只需添加
new TextField("name");
Run Code Online (Sandbox Code Playgroud)
就这样.但是,如何正确绑定此项目列表?对于类BI,还有覆盖convertInput的FormComponent,因为我想在将值分配给from之前进行一些计算.我尝试过(Property)ListView,但两者似乎都不起作用(或者我以错误的方式使用它们).
谢谢你,亲切的问候,
M.
运用
Form form = new Form("form", new CompoundPropertyModel(modelObject));
form.add(new ListView("items"));
Run Code Online (Sandbox Code Playgroud)
相当于
Form form = new Form("form", new CompoundPropertyModel(modelObject));
form.add(new ListView("items", new PropertyModel(modelObject, "items"));
Run Code Online (Sandbox Code Playgroud)
ListView的模型将由itemsCPM的模型对象的属性支持.记得覆盖populateItem,其中ListItem的模型对象将是每个元素中的一个List.
您可以items对支持模型对象的属性执行计算.如果您不想修改模型对象的属性,则不应使用CPM绑定items属性,并实现Model提供修改的属性List(如果您希望在每次页面呈现时更新这些计算,则可能很有用)在ajax刷新.
这个Wicket维基页面显示了ListView:ListView和其他转发器的用法
| 归档时间: |
|
| 查看次数: |
4137 次 |
| 最近记录: |