0

从自动完成中选择特定值后,我想将日期与日历控件绑定。但是会发生以下异常: javax.servlet.ServletException: java.util.Date cannot be cast to 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}" />
4

2 回答 2

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"..... />
于 2012-05-18T06:59:30.950 回答
0

在中使用binding属性<p:calender>可能会导致问题...尝试使用value=#{...}

还要确保你的 bean 的“expiryDate”是 Util.Date 类型

希望这可以解决您的问题..有关详细说明,请参见此处

于 2012-05-18T07:40:18.273 回答