今天又碰到一個(gè)Seam的錯(cuò)誤,感覺(jué)使用Seam開(kāi)發(fā)的過(guò)程就是在不停的找Bug。
錯(cuò)誤如下:
在使用rich:inplaceSelect做一個(gè)布爾型的選擇框時(shí),由于客戶(hù)需要,在特定情況下需要一個(gè)默認(rèn)值,也就是rich:inplaceSelect的defaultLabel,這時(shí)就需要除了true和false外再有一個(gè)null的值,所以需要將后臺(tái)session bean中的對(duì)應(yīng)屬性由原始類(lèi)型boolean改為Boolean,在改完之后,重新運(yùn)行程序報(bào)錯(cuò):
Property ‘xxx’ not readable on type java.lang.Boolean
分析了一下,找不出什么可能的原因,最后在一片帖子中發(fā)現(xiàn)了對(duì)應(yīng)的信息:
原來(lái)JSF將原始類(lèi)型boolean的get方法默認(rèn)為is....(),而將封裝類(lèi)型Boolean的get方法默認(rèn)為get...().
Ok,在后臺(tái)將對(duì)應(yīng)那個(gè)的方法修改,問(wèn)題解決。