アクション #{ruler.start} を指すページ「start.jsf」があります。このアクションはリクエストを「flow.jsf」に転送します。
マネージド Bean "ruler" (スコープ指定されたリクエスト) にはいくつかのプロパティが含まれており、そのうちの 1 つは "ruler.operation" と呼ばれ、"start.jsf" に正しく入力されています。
ページ「flow.jsf」には、 「objectList.selectedContractor」という名前のプロパティ オブジェクトを含む「objectList」(セッション スコープ) という別のマネージド Beanを指すコマンド ボタンがあります(コンストラクターに初期化された POJO であるため、その子プロパティは常に空です)。最初のMB呼び出しでのみ、または間違っていますか?)、そのアクションは #{objectList.itemInsert} です。
「flow.jsf」のフォームページには、以下のタグが含まれています。
<h:form>
<h:inputText id="crnameNew" value="#{objectList.selectedContractor.crname}" rendered="#{ruler.operation eq ruler.codeOperationNew}" />
<h:inputText id="someProp" value="#{objectList.someProp}" />
<h:commandButton styleClass="importedButton" value="insert" action="#{objectList.itemInsert}" />
</h:form>
アクション #{objectList.itemInsert} を送信すると、「someProp」のみが正しく MB に入力され、「selectedContractor.crname」は空になります。
しかし、#{objectList.selectedContractor.crname} をバインドするタグから "rendered" 属性を切り替えると、#{objectList.itemInsert} が呼び出されたときに機能し、正しく入力されます。提出?