如何使用绑定属性将Date与日历控件绑定在primefaces中?

时间:2012-05-18 06:23:14

标签: jsf java-ee jsf-2 primefaces managed-bean

我希望在从自动填充中选择特定值后,将日期与日历控件绑定。但是会发生以下异常: 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}" />

2 个答案:

答案 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