0

入力テキスト フィールドを Java 列挙型にマップしたいと考えています。入力テキストフィールドを JSF の Java 列挙型にマップすることは可能ですか? ドロップダウンリストを使用したくありません。

4

1 に答える 1

0

はい、通常の方法で enum プロパティに直接バインドするだけです。JSF/EL には、列挙型のコンバーターが組み込まれています。

<h:inputText value="#{bean.someEnum}" />

private SomeEnum someEnum;

入力された値が列挙名と正確に一致する必要があるという事実に対処する必要があるだけです。そうしないと、変換エラーが表示されます。


具体的な問題とは関係ありませんが、UX の観点からすると、定数セットの 1 つを指定するには、ドロップダウン リストの方が、エンドユーザーがタイプミスをしたり、許可された値を覚えるのに苦労したりしやすい入力テキスト フィールドよりもはるかにユーザー フレンドリーです。列挙型プロパティがドロップダウン リストやラジオ ボタンと組み合わせて使用​​されることが多いのはまさにそのためです。これは、列挙型プロパティの技術的な制限ではありません。

于 2012-09-17T11:52:00.133 に答える