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」でメニューを埋めることができます。これはそれを返すメソッドです:
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 Im の最初のパラメーターとして、setter に設定したいオブジェクト Person を渡していることがわかります。
public void setPersonOwner(Person person){
getAgreementExt().setOwner(person);
}
しかし、これは私にとってはうまくいきません.今、私が何を間違っているのか、何が欠けているのかを知りたいです.
ご提案いただきありがとうございます。