我希望在从自动填充中选择特定值后,将日期与日历控件绑定。但是会发生以下异常: javax.servlet.ServletException:java.util.Date无法强制转换为javax.faces.component.UIComponent
<p:autoComplete value="#{rechargeCustomerBean.school.schoolName}" completeMethod="#{rechargeCustomerBean.completeSchool}" required="true" />
<p:calendar mode="popup"
navigator="true" pattern="dd-MM-yyyy" effect="fadeIn"
showButtonPanel="true"
binding="#{rechargeCustomerBean.school.expiryDate}" />
答案 0 :(得分:2)
你确定要绑定吗?
改为使用value
属性。
另外,将<p:ajax
添加到calendar
以更新日历,您就可以开始了。
像这样
<p:autoComplete value="#{rechargeCustomerBean.school.schoolName}" completeMethod="#{rechargeCustomerBean.completeSchool}" required="true">
<p:ajax event="itemSelect" update="idOfCalendar" />
</p:autoComplete>
更改
binding="#{rechargeCustomerBean.school.expiryDate}"
进入
value="#{rechargeCustomerBean.school.expiryDate}"
所以它看起来像这样
<p:calendar value="#{rechargeCustomerBean.school.expiryDate}" id="idOfCalendar"..... />
答案 1 :(得分:0)
在binding
中使用<p:calender>
属性可能会导致问题...尝试使用value=#{...}
还要确保您的bean的“expiryDate”类型为Util.Date
希望这可以解决您的问题...详细说明see here