1

私が抱えている問題は、素顔カレンダーの入力フィールドにあります。現時点では、ポップアップボタンを使用して正常に動作しています。ボタンをクリックするとカレンダーが表示され、日付を選択できます。ただし、作業中のページに必要な影響は、入力フィールドにフォーカスがあるときにカレンダーが表示されることです。

Primesfaces Calendar Showcaseで、私が探している機能が「Popup」というラベルの付いた例に示されています。

サイトの例から、おそらく素朴に、ボタンからフォーカスアクティブ化されたカレンダーに変更するために必要なのは、showOn="button"属性を削除することだけだと思いました。

前:

                    <p:calendar id="fldDateOfBirth"
                    value="#{pc_CreatePatient.patient.dateOfBirth}"
                    binding="#{pc_CreatePatient.dobComp}" navigator="true"
                    display="inline" pattern="dd/mm/yyyy" yearRange="-100"
                    title="#{msg.user_date_format_default_tip}" showOn="button" />

後:

                    <p:calendar id="fldDateOfBirth"
                    value="#{pc_CreatePatient.patient.dateOfBirth}"
                    binding="#{pc_CreatePatient.dobComp}" navigator="true"
                    display="inline" pattern="dd/mm/yyyy" yearRange="-100"
                    title="#{msg.user_date_format_default_tip}"/>



変更を行った後、ポートレットはまったくレンダリングされず、ログには以下のエラー情報が保持されます。

[11/19/12 18:47:30:942 GMT] 00000043 RpmMaintainUs E RpmExceptionHandler handle Throwable=>class java.lang.IllegalArgumentException<==>component identifier must not be a zero-length Stringnent identifier must not be a zero-length Stringcomponent identifier must not be a zero-length String

よろしくお願いします。

4

2 に答える 2

1

これを使用する必要があり、問題なく動作します。

 <p:calendar id="fldDateOfBirth"
 value="#{pc_CreatePatient.patient.dateOfBirth}"
 title="#{msg.user_date_format_default_tip}"/>

選択した日付がポップアップ行に表示されます。選択した日付を別の場所で使用する場合:

<h:outputText value="Popup Date:" />  
            <h:outputText value="#{pc_CreatePatient.patient.dateOfBirth}" id="popupDate">  
                <f:convertDateTime pattern="d/M/yyyy"/>  
            </h:outputText> 
于 2012-11-19T20:16:26.307 に答える
0

私の問題の解決策は、ボタンなしでカレンダー入力フィールドをマークアップするには、いくつかの属性を削除する必要があることでした。私は当初、'showOn="button"' のみを削除する必要があると考えていましたが、機能させるには 'display="inline"' も削除する必要がありました。以下の最終的なマークアップ:

                    <p:calendar id="fldDateOfBirth"
                    value="#{pc_CreatePatient.patient.dateOfBirth}"
                    binding="#{pc_CreatePatient.dobComp}" navigator="true"
                    pattern="dd/mm/yyyy" yearRange="-100"
                    title="#{msg.user_date_format_default_tip}"/>

これはおそらく初歩的な問題だと思いますが、いくつかのおもちゃの実際の実装において、primefaces の Web サイトがあまり役に立たなかったと言わざるを得ません。primefaces ライブラリの優れたサイトやチュートリアルがあれば、コメントに追加してください。

于 2012-11-22T10:00:46.667 に答える