私は現在、シンプルなページを持ち、シンプルなビーンで裏打ちされた単純な春のアプリを持っています。こちらのページから関連するスニペット...selectOneRadioがデフォルトのブール値にプリセットされないようにするにはどうすればいいですか?
<h:selectOneRadio id="q1" value="#{controller.formBean.question1}">
<f:selectItem itemValue="true" itemLabel="Yes" />
<f:selectItem itemValue="false" itemLabel="No" />
</h:selectOneRadio>
そしてバッキングBean、フォームBeanからだ:
private boolean question1;
public void setQuestion1(boolean question1) {
this.question1 = question1;
}
public boolean isQuestion1() {
return question1;
}
は、コントローラが(nullではない検証済み)Beanをインスタンス化します。
これは問題の一部です。ブール値がデフォルトのfalseに初期化されると、このフォームコントロールには常に「デフォルトの回答」が事前に選択されています。ユーザーに明示的に「はい」または「いいえ」を選択させたいので、ラジオボタンが事前入力されていないことを確認する必要があります。
すべてのフィールドをブール値に変換しようとしました(true/false/nullを表すことができるように)が、壊れたスプリングはブーリアンではなくブーリアンを使用します。
誰もが考えている?私は春には新しく、ここで本当にシンプルなものが欠けていると確信しています。
を使用して
私はすでにブールを使用してみました言及しました。ページをロードすると、残念ながら私は致命的なエラーが発生しました... IIRCにはNPEがありました。私の同僚は列挙型について奇妙な意見を持っています。私はそれを使うことで逃げることができないと思います。 – yep