从SelectOneMenu设置字段; JSF 1.2

时间:2012-08-08 18:07:40

标签: jsf set selectonemenu

我有一个与通过在SelectOneMenu中选择idem来设置属性相关的问题。 就是这个: 在表示层我有:

<h:selectOneMenu id="fio" value="#{page.personOwner}" disabled="#{page.readonly}" readonly="#{page.readonly}" >         
                                <a4j:support event="onchange" reRender="generalForm" ajaxSingle="true" />           
                                <f:selectItems value="#{page.agrGrpRelInsPersons}" ></f:selectItems>
                            </h:selectOneMenu>

所以,我可以使用'agrGrpRelInsPersons'填充菜单,这是List。这是返回它的方法:

public List<SelectItem> getAgrGrpRelInsPersons(){
        List<SelectItem> persons = new ArrayList<SelectItem>();
        for(AgrGrpRel agrGrpRel : getAgreement().getAgrGrpRels()){
            for(InoPerRel inoPerRel :agrGrpRel.getAgreement().getInsObject().getInoPerRels()){
                persons.add(new SelectItem(((Person)inoPerRel.getPerson()), inoPerRel.getPerson().getName1()+" "+inoPerRel.getPerson().getName2()+" "+inoPerRel.getPerson().getName3()));
                }
            }
        return persons;
    }

..在这里你可以看到,作为新SelectItem中的第一个参数我传递了一个对象Person,我想将它设置为setter:

public void setPersonOwner(Person person){
        getAgreementExt().setOwner(person);
    }

然而,这对我不起作用.. 现在我很高兴知道我做错了什么或我错过了什么。

感谢您的建议!

0 个答案:

没有答案