鉴于Apache Isis项目具有如下所示的简单域模型,创建对话框的绝对最低要求是什么,在创建新人员时将显示所有可用办公室的下拉选择?
当前状态:我可以创建一个office对象,列出所有office对象,但是当我想创建一个Person时,创建对话框没有显示可用办公室的下拉列表,它只是说“(none)”(见截图)。
目前我对Person的创建对话框如下所示:
如何在此对话框中显示所有可用办公室的下拉列表?
这是我所拥有的DOM代码的粗略布局(省略了JDO注释):
public class Office {
private String name;
// getter/setter ...
}
public class Person {
private String name;
private Office office;
// getter/setter...
}
和相应的菜单/存储库类,如
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);
}
}
答案 0 :(得分:1)
您可以使用选择支持方法,autoComplete支持方法,或将引用的类注释为@DomainObject(bounded = true)。后者主要适用于具有有限(即有界)数量的实例的参考数据对象。
例如:
public List<Office> choices1Create()
return officerRepository.findAll();
}
请参阅这些apache isis docs以获取(链接)进一步的详细信息。
如果您还有其他问题,建议您注册apache.isis mailing list。
THX 丹