![](/img/trans.png)
[英]javax.faces.FacesException: Expression Error: Named Object: player not found
[英]Expression Error: Named Object: ch.foo.EnitityConverter@f163464 not found
根據與下面列出的stackoverflow問題中所述相同的問題,在Managed Bean中擁有Converter
的實例之后,我遇到了一個異常,即未找到對象。
Expression Error: Named Object: ch.foo.EnitityConverter@f163464 not found
Stackoverflow問題:
我的xhtml代碼:
<h:selectManyCheckbox value="#{bean.selectedEmployees}">
<f:converter converterId="#{bean.entityConverter}" />
<f:selectItems value="#{bean.allEmployees}" var="e" itemLabel="#{e.name}" />
</h:selectManyCheckbox>
converterId
屬性需要轉換器ID(轉換器名稱)。 任何EL表達式值都將被評估為String
。 您基本上是將轉換器實例的toString()
結果傳遞給它,即ch.foo.EnitityConverter@f163464
。 進而,該轉換器ID不會被識別為任何已注冊的轉換器。 但是..您不想傳遞轉換器ID,而只是引用整個轉換器實例。
每當您要引用整個具體實例時, converterId
屬性都是錯誤的屬性。 請改用binding
屬性或輸入組件的converter
屬性。
因此
<h:selectManyCheckbox value="#{bean.selectedEmployees}">
<f:converter binding="#{bean.entityConverter}" />
<f:selectItems value="#{bean.allEmployees}" var="e" itemLabel="#{e.name}" />
</h:selectManyCheckbox>
要么
<h:selectManyCheckbox value="#{bean.selectedEmployees}" converter="#{bean.entityConverter}">
<f:selectItems value="#{bean.allEmployees}" var="e" itemLabel="#{e.name}" />
</h:selectManyCheckbox>
它缺少converter
名稱。 您的名字可能類似於entityConverter
。 默認為calss名稱。 用途如下;
<f:converter converterId="#{entityConverter}" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.