Apache Isis:创建带引用对象下拉列表的对话框

时间:2016-09-15 08:17:39

标签: isis

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

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

目前我对Person的创建对话框如下所示:

Person create dialog

如何在此对话框中显示所有可用办公室的下拉列表?

这是我所拥有的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);
    }    
}

1 个答案:

答案 0 :(得分:1)

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

例如:

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

请参阅这些apache isis docs以获取(链接)进一步的详细信息。

如果您还有其他问题,建议您注册apache.isis mailing list

THX 丹