Apache Isis:创建带有引用对象下拉列表的对话框
Apache Isis: create dialog with referenced object dropdown
给定一个具有如下简单域模型的 Apache Isis 项目,创建对话的绝对最低要求是什么,该对话将在创建新人员时显示所有可用办公室的下拉选择?
当前状态:我可以创建一个办公室对象,列出所有办公室对象,但是当我想创建一个人时,创建对话框不显示可用办公室的下拉列表,它只是说“(none)”(见屏幕截图)。
目前我为 Person 创建的对话如下所示:
如何在此对话框中显示所有可用办公室的下拉列表?
这是我的 DOM 代码的粗略布局(省略了 JDO 注释):
public class Office {
private String name;
// getter/setter ...
}
public class Person {
private String name;
private Office office;
// getter/setter...
}
和对应的menu/repository类如
public class OfficeRepository {
public List<Office> listAll() {
// ...
}
}
public class PersonRepository {
public Person create(String name, final Office office) {
// ...
}
}
public class PersonMenu {
public static class CreateDomainEvent extends ActionDomainEvent<Person> {}
@Action(domainEvent = CreateDomainEvent.class)
public Person create(
@ParameterLayout(named="Name")
final String name,
final Office office) {
return personRepository.create(name, office);
}
}
可以使用choices支持方法,autoComplete支持方法,或者将引用的class注解为@DomainObject(bounded=true)。后者主要适用于实例数量有限(即有界)的参考数据对象。
例如:
public List<Office> choices1Create()
return officerRepository.findAll();
}
查看这些 apache isis docs 了解更多详情(链接)。
如果您还有其他问题,我建议您注册 apache.isis mailing list。
谢谢
旦
给定一个具有如下简单域模型的 Apache Isis 项目,创建对话的绝对最低要求是什么,该对话将在创建新人员时显示所有可用办公室的下拉选择?
当前状态:我可以创建一个办公室对象,列出所有办公室对象,但是当我想创建一个人时,创建对话框不显示可用办公室的下拉列表,它只是说“(none)”(见屏幕截图)。
目前我为 Person 创建的对话如下所示:
如何在此对话框中显示所有可用办公室的下拉列表?
这是我的 DOM 代码的粗略布局(省略了 JDO 注释):
public class Office {
private String name;
// getter/setter ...
}
public class Person {
private String name;
private Office office;
// getter/setter...
}
和对应的menu/repository类如
public class OfficeRepository {
public List<Office> listAll() {
// ...
}
}
public class PersonRepository {
public Person create(String name, final Office office) {
// ...
}
}
public class PersonMenu {
public static class CreateDomainEvent extends ActionDomainEvent<Person> {}
@Action(domainEvent = CreateDomainEvent.class)
public Person create(
@ParameterLayout(named="Name")
final String name,
final Office office) {
return personRepository.create(name, office);
}
}
可以使用choices支持方法,autoComplete支持方法,或者将引用的class注解为@DomainObject(bounded=true)。后者主要适用于实例数量有限(即有界)的参考数据对象。
例如:
public List<Office> choices1Create()
return officerRepository.findAll();
}
查看这些 apache isis docs 了解更多详情(链接)。
如果您还有其他问题,我建议您注册 apache.isis mailing list。
谢谢 旦