0

オートコンプリートから特定の値が選択された後、日付をカレンダー コントロールにバインドしたいと考えています。ただし、次の例外が発生します: 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}" />
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 に答える