2016-03-30 14 views
0

selectOneMenu JSF bileşeni için öğeleri uluslararasılaştırmaya ihtiyacım var. Veritabanından alınan Liste için nasıl yapılabilir? Ben dinamicaly değişim değerlerini ihtiyaç mapBean.actions içinselectOneMenu JSF'de DataBase'den alınan öğeler nasıl uluslararası hale getirilir?

<p:selectOneMenu id="action" value="#{mapBean.newAction}" style="width:150px"> 
         <f:selectItem itemLabel="Action" itemValue="Empty" 
          noSelectionOption="false" /> 
         <f:selectItems value="#{mapBean.actions}" /> 
</p:selectOneMenu> 

şimdi bu nasıl uyguladıklarını bir fikrim yok için dilini seçilen göre.

+1

gelen çözüm bu yararlı mı olduğunu? http://stackoverflow.com/q/4375578 – BalusC

+0

Bu makalede anladığım kadarıyla değerler ENUM'lardan geldi, ama benim fikrim veritabanına değerler koydu. Örneğin değer ve farklı yereller ('en', 'uk', 'ru') içeren bir tablo eylemi oluşturun. Seçilen yerel seçime göre selectOneMenu için yeni değerler alınır. Sadece propertis dosyaları kullanmadan değerler için veritabanı ile çalışmak istiyorum. – Andrey

+0

Oh? Bu yerel değerler veri tabanından geliyor mu? Başka bir deyişle, bu yerelleştirilmiş değerler zaten # # mapBean.actions} içinde mi? Öyleyse artık anlamıyorum, neden bununla ilgili bir problemin var. – BalusC

cevap

1

Sorunuzu anladığım kadarıyla "Locale" özelliğine sahip nesnelerin listesi var. Ve selectOneMenu'nuzda yalnızca belirtilen yerel ayarı olan öğeleri görüntülemek istiyorsunuz. Engelli öğeleri göstermek değil

<p:selectOneMenu id="action" value="#{mapBean.newAction}" style="width:150px"> 
          <f:selectItem itemLabel="Action" itemValue="Empty" 
           noSelectionOption="false" /> 
          <f:selectItems value="#{mapBean.actions}" 
           var="item" itemDisabled="#{item.locale ne 'en'}"/> 
    </p:selectOneMenu> 

Ve sayfanıza css için bu ekleyin:: Sen SelectItems filtrelemek için böyle bir şey yapabileceği

.ui-selectlistbox-item.ui-state-disabled { 
    display: none; 
} 

Bu this answer

İlgili konular