JSF 2.0 と Primefaces 3.4.1 を使用しています
以下は私の要件です
ユーザーのリストを作成するために ah:selectOneMenu があります。ユーザーは必須フィールドであり、ユーザーを選択して [送信] ボタンをクリックし、ユーザーをバッキング Bean に渡す必要があります。ページには他のボタンもあります。カスタム コンバーターを実装して、選択内容を対応するユーザー オブジェクト モデルに変換します。[送信] ボタンがクリックされた場合にのみ、変換を実行し、選択したユーザーをバッキング Bean に送信する必要があります。
しかし、Converter の "techLeadConverter" メソッドは、すべてのボタン クリックに対して呼び出され、メニュー項目をクリックしてページから移動するときにも呼び出されます。
送信ボタンのクリック時にのみコンバーターの呼び出しを制限する方法
以下は私の宣言です
XHTML ページ
<h:selectOneMenu id="technicalLeads"
value="#{resourceMB.technicalLead}"
converter="#{techLeadConverter}"
required="#{not empty param[assignResource.clientId]}"
requiredMessage="#{bundle.TechLeadMandatory}">
<f:selectItem itemLabel="Select Technical Lead" itemValue=""></f:selectItem>
<f:selectItems value="#{resourceMB.technicalLeadList}" var="techLead"
itemValue="#{techLead}"
itemLabel="#{techLead.lastName}, #{techLead.firstName}">
</f:selectItems>
</h:selectOneMenu>