ICEfaces コンポーネントを含むフォームを含む Facelets ページがあります。empId
Bean で null かどうかを確認する必要がある long 型のプロパティです。それはフォームのように取られ、それを DAO に渡して DB 列と照合するためにString
long 型に変換しています。Long.valueof(empId).longValue();
これは私たちがそれを行うことになっている方法ですか?それとも別の方法がありますか?
ICEfaces コンポーネントを含むフォームを含む Facelets ページがあります。empId
Bean で null かどうかを確認する必要がある long 型のプロパティです。それはフォームのように取られ、それを DAO に渡して DB 列と照合するためにString
long 型に変換しています。Long.valueof(empId).longValue();
これは私たちがそれを行うことになっている方法ですか?それとも別の方法がありますか?
Long
プロパティの代わりにプロパティを使用して、JSF/EL によるString
自動変換を適用したいと考えています (つまり、 standard 、および型の組み込み変換があります)。Long
Number
Boolean
Enum
private Long empId;
と
<h:inputText value="#{bean.empId}" />
required
必要な入力を検証するために属性を使用したいと考えています。
<h:inputText value="#{bean.empId}" required="true" />
変換または検証のエラー メッセージは、 を使用して表示できます<h:message>
。
<h:inputText id="empId" value="#{bean.empId}" required="true" />
<h:message for="empId" />
必要に応じて、変換と必要なメッセージを次のように変更できます。
<h:inputText id="empId" value="#{bean.empId}" required="true"
requiredMessage="Please enter employee ID."
converterMessage="Please enter digits only." />
<h:message for="empId" />
この方法では、Bean のアクション メソッドで変換/検証を実行する必要はありません。変換には JSF 組み込みコンバーターまたはカスタムConverter
を使用し、検証には JSF 組み込みバリデーターまたはカスタムを使用する必要がありますValidator
。バッキング Bean のプロパティは適切な型を既に保持している必要があり、バッキング Bean のアクション メソッドは変換/検証を行うべきではありません。
列をチェックするためのDAOメソッド呼び出しが custom でうまく処理できないかどうかValidator
は疑問ですが、それは質問からは不明な具体的な機能要件にすべて依存しています。