访问openxava中一个部分内的集合的详细信息元素

时间:2013-01-02 21:21:20

标签: openxava

如何使用openxava访问另一个实体的一个部分内的集合实体的details元素?例如,在实体A的视图中,我们有部分{S1,S2,S3}和部分S3视图,我们有{实体B的集合}。现在我想访问实体B的detail元素,这样我就可以在动作控制器中填充元素。我该怎么做?

2 个答案:

答案 0 :(得分:0)

直接从视图中获取集合:

Collection myCollection = getView().getSubview("myCollection").getCollectionObjects();

即使使用最旧的OpenXava版本,它也必须正常工作

答案 1 :(得分:0)

获取与视图关联的实体并从中获取集合。从OpenXava 4.3开始,您就可以这样做:

MyEntity myEntity = (MyEntity) getView().getEntity();   
Collection myCollection = myEntity.getMyCollection();

如果您使用的是4.3之前的OX,请执行以下操作:

Map keyValues = getView().getKeyValuesWithValue();
if (!keyValues.isEmpty()) {
    MyEntity myEntity = (MyEntity) 
        MapFacade.findEntity(getView().getModelName(), keyValues);
    Collection myCollection = myEntity.getMyCollection();
}