2016-03-30 28 views
0

Bu neden çalışmıyor? Açılır menü Tamam doldurulur, ancak formu gönderirken, selectedCatId alanı boştur. Niye ya? Lütfen yardım et.h: selectOneMenu seçili alan @Named ve @Produces ile 'null'?

The Bean:

@Model 
public class MyBean { 
@Named 
@Produces 
private Long selectedCatId; 

@Named 
@Produces 
private List<Category> cats; 
} 

sayfa:

<h:selectOneMenu value="#{selectedCatId}"> 
     <f:selectItems value="#{cats}" var="cat" 
      itemValue="#{cat.id}" itemLabel="#{cat.name}" /> 
</h:selectOneMenu> 

cevap

2

Bir fasulye atayamayacağı, sadece bir fasulye özelliğine atayabilirsiniz.

Sadece MyBean için @Named ekleyin üyelerinden @Named @Produces kaldırıp sırasıyla #{myBean.selectedCatId} ve #{myBean.cats} tarafından #{selectedCatId} ve #{cats} değiştirin.

(Bu cats yere başlatıldı alır varsayar.)

+0

teşekkür ederiz. Doğru, nasıl çalıştığını bilmiyordum, sadece bir nesne üretebiliyor, almıyor. Kurtarıcı değil, bir alıcı gibi. – ACV

İlgili konular