2016-03-25 19 views
2

i jsf bileşeni selectOneMenu ile çalışıyorum vermektedir ama bu rastgele değerini almak 8e6a2a06-91dd-84a9-88b8-c2403de5d17d HTML çıktı teftişMTU selectOneMenu değeri beklenmedik çıkışı

MTU:

<h:selectOneMenu id="idSelect" 
          value="#{bean.SelectValue}"> 
          <f:selectItems value="#{bean.list()}" var="prts" 
          itemLabel="#{prts.libelle}" itemValue="#{prts.code}" /> 

         </h:selectOneMenu> 
+0

@BalusC cevabınız için teşekkür ederim, sadece tarayıcımdaki kaynağı görüntüledim ve javascript'in doğru olduğunu, ancak gerçek değeri nasıl alabildiğimi rasgele bir değer oluşturdu? –

+1

JSF, sadece # # prts.code} 'nızı içerir. Hiçbir şey söylemediğin örtülü bir dönüştürücü olmadığı sürece, onu manipüle etmez. Yani, JSF'den önce bir adım geri çekilmeli ve modelinizi ve # # {part.code} 'ile gösterilen model türüyle ilişkili herhangi bir örtülü dönüştürücüyü kontrol etmelisiniz. – BalusC

+0

@BalusC yardımınız için çok teşekkür ederim, bu çeviriciyi kaldırdığımda bir şey anlattığım bir çevirici vardı, bu yüzden şimdi her şey iyi çalışıyor –

cevap

1

Bu, itemValue arkasındaki tür ile ilişkili bir örtülü veya açık Converter olduğunda gerçekleşir. Bir örtük dönüştürücünün bir örneği @FacesConverter(forClass=String.class)'dur. String.class türündeki herhangi bir model değerinde çalışır. Açık bir dönüştürücü, giriş bileşeninin converter özniteliği ile belirttiğiniz bir tanedir, ancak bu, kod pasajınızda şu ana kadar yayınlanan (snippet'i gerçekten sınamadan fazla basitleştirmediyseniz) görünür değildir.

En azından, üretilen değer, UUID.randomUUID().toString()'un sonucu olarak tanınabilir, bu nedenle, kod tabanınızda bu kod satırını ararsanız, şüpheli dönüştürücüyü bulacaksınız. Belki de internette çeşitli yerlerde bulabileceğiniz, ancak aslında hiç kullanamayacağınız bir çeşit "generic entity converter" tür.

+1

benim trueOranMenu <: içindeki bir dönüştürücü vardı bu yüzden beklenmedik bir çıkış değeri aldım –