1

给定一个具有如下简单域模型的 Apache Isis 项目,创建对话框的绝对最低要求是什么,该对话框将在创建新人员时显示所有可用办公室的下拉选择?

当前状态:我可以创建一个办公室对象,列出所有办公室对象,但是当我想创建一个人时,创建对话框没有显示可用办公室的下拉列表,它只是说“(无)”(见截图) .

目前我为 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);
    }    
}
4

1 回答 1

1

您可以使用choices 支持方法、autoComplete 支持方法,或者将引用的类注解为@DomainObject(bounded=true)。后者最适用于实例数量有限(即有界)的参考数据对象。

例如:

public List<Office> choices1Create()
    return officerRepository.findAll();
} 

请参阅这些apache isis 文档以获取(链接到)更多详细信息。

如果您还有其他问题,我建议您注册 apache.isis邮件列表

谢谢丹

于 2016-09-16T06:07:09.347 回答