0

XPage には、Bean (製品と呼ばれる) のプロパティにバインドされた CheckBox コントロールがあります。そのプロパティをブール値にすると..

private boolean selected = true;
public boolean isSelected() {
    return selected;
};
public void setSelected(boolean selected) {
    this.selected = selected;
};

ELを使用してチェックボックスをバインドすると#{product.selected)、ページは最初は正常に開きますが、部分的な更新でハングしますが、ログにエラーは表示されません。

Bean に別のラッパー getter/setter を追加して、次のようなテキスト バージョンを返す場合:

public String getSelectedTxt() {
    return String.valueOf(selected);
}
public void setSelectedTxt(String selectedTxt) {
    selected = Boolean.parseBoolean(selectedTxt);
}

次に、チェックボックスをバインドして#{product.selectedTxt}and にuncheckedValue="false"checkedValue="true"ます。できます!

バージョン 9 では、テキストに変換する必要なく、ブール値のバージョンに対して直接機能します。

問題は、これは、チェックボックス コントロールをブール値にマッピングする 8.5.3 のバグのように聞こえるか (以前に誰かがそれを行ったことがありますか?)、それとも間違った方法でアプローチしているのでしょうか?

4

1 に答える 1

0

チェックボックスは、「キーワード」タイプの Notes フィールドの内容を表示するためのさまざまなオプションの 1 つです。キーワードは、有限の値セットを持つテキスト フィールドです。チェックボックスは、本来の目的や意図ではなかったブール型のコントロールであると考えるかもしれません。したがって、私は 8.5.3 の実装をバグとは見なしません。ブール値をサポートするように 9.0 の動作が変更された場合、それは朗報です。

于 2013-04-03T18:38:08.470 に答える