Mojara JSF 2.1.21 で Spring Webflow 2.4.0.M1 を使用しています。
私は次のような非常に単純な h:selectOneMenu を持っています:
<h:selectOneMenu id="title" value="#{person.title}" required="true" requiredMessage="Required title">
<f:selectItem noSelectionOption="true" itemLabel="Please Select" itemValue="" />
<f:selectItem itemLabel="Mr" itemValue="MR" />
<f:selectItem itemLabel="Mrs" itemValue="MRS" />
</h:selectOneMenu>
<p:message for="title"/>
「選択してください」に値を残してフォームを送信すると、必要なメッセージが表示されます。次にオプション「Mr」を選択して再度送信すると、ページの他のフィールドにエラーがあり、ページがリロードされ、タイトルに必要なメッセージが表示されなくなり、期待どおり Mr が選択されます。その後、[選択してください] に戻して再度送信すると、必要なメッセージが再度表示されますが、選択されたオプションは [選択してください] ではなく [Mr] に戻ります。#{person.title} EL は文字列にバインドされており、デフォルトは空の文字列です。これまでのところ、これは selectOneMenu でのみ問題になっているようですが、ah:inputText で同じようなことをすると正しく動作します。
何か案は?webflow 2.3.2.RELEASE でも試してみましたが、同じ問題が発生します。
これと同じ問題のようです: JAVASERVERFACES-932これは約 4 年前のもので、解像度は固定されています。それは間違いなく修正されていません。MenuRenderer を拡張し、Jira の問題の最後に記載されている提案で renderOption メソッドをオーバーライドしてみます。