Wicket 6:没有 IModel 的嵌套对象的 属性
Wicket 6: Nested object's property without IModel hustle
我有如下嵌套模型:
class User {
private String name;
private Address address;
...
}
class Address {
private String city;
...
}
现在,在 Wicket 6 中,我可以使用单个 IModel 来访问所有嵌套属性,例如:
IModel<User> userModel = new PropertyModel<>(user);
Form<User> form = new CSRFSafeForm<>("form", user);
form.add(new TextField<>("name"));
form.add(new TextField<>("address.city"));
是否可以不进行任何额外编码?
我已经阅读了 Wicket 的手册 https://cwiki.apache.org/confluence/display/WICKET/Working+with+Wicket+models 但它说我需要创建一个新的表单和 IModel。
是否可以在同一张表格中同时编辑姓名和城市?
我不知道 CSRFSafeForm 是从哪里来的。
但是您可以对标准表单和 CompoundPropertyModel 执行相同的操作:
IModel<User> userModel = new PropertyModel<>(user);
Form<User> form = new Form<>("form", new CompoundPropertyModel<User>(user));
form.add(new TextField<>("name"));
form.add(new TextField<>("address.city"));
我有如下嵌套模型:
class User {
private String name;
private Address address;
...
}
class Address {
private String city;
...
}
现在,在 Wicket 6 中,我可以使用单个 IModel 来访问所有嵌套属性,例如:
IModel<User> userModel = new PropertyModel<>(user);
Form<User> form = new CSRFSafeForm<>("form", user);
form.add(new TextField<>("name"));
form.add(new TextField<>("address.city"));
是否可以不进行任何额外编码?
我已经阅读了 Wicket 的手册 https://cwiki.apache.org/confluence/display/WICKET/Working+with+Wicket+models 但它说我需要创建一个新的表单和 IModel。
是否可以在同一张表格中同时编辑姓名和城市?
我不知道 CSRFSafeForm 是从哪里来的。
但是您可以对标准表单和 CompoundPropertyModel 执行相同的操作:
IModel<User> userModel = new PropertyModel<>(user);
Form<User> form = new Form<>("form", new CompoundPropertyModel<User>(user));
form.add(new TextField<>("name"));
form.add(new TextField<>("address.city"));