次の facelet コードは、employeeId inputText コンポーネントがフォーカスを失ったときにメッセージをレンダリングしますが、正常に実行されています...
<h:inputText id="employeeId" value="#{questionAnswerAction.questionAnswerActionForm.employeeId}"
required="true" requiredMessage="#{app:requiredFieldMessage(bundle, 'label.peoplesoftId')}"
binding="#{questionAnswerAction.questionAnswerActionForm.employeeIdInputText}">
<f:ajax event="blur" render="employeeIdMessage" />
</h:inputText>
<h:message id="employeeIdMessage" errorClass="deg-msg-error" infoClass="deg-msg-info" for="employeeId"></h:message>
ただし、何らかの理由で、別の facelet にほぼ同じコードを適用しようとすると (employeeId ではなく managerId 用であるという違いがあります)、ajax 呼び出しでトリガーされるセッターが発生すると (setEmployeeId
上記の呼び出しで) 、私の SessionScoped ManagedProperty は、メソッドで null としてフラグが立てられています。ManagedProperty は、実際には SessionScoped ManagedBean そのものです。
このコードが 1 つのページで正常に機能しているのに、別の facelet で「設定」が発生すると、ManagedProperty が null として表示される理由がわかりません...