バッキングにselectBooleanCheckboxを、ここでJSFコンポーネントです:hのID属性を取得する方法:だから豆
<h:selectBooleanCheckbox id="cb#{index}" value="#{backingBean.value}" />
そしてここでは、バッキングBeanのJavaの一部です:
/**
* getValue is a method which checks if a checkbox is selected or not, using the checkbox ID
*/
public boolean getValue() {
//TODO: get the checkbox id
String checkboxID = ??
if (getCheckedIDs().contains(checkboxID)) {
return true;
}
return false;
}
ページがチェックボックスをロードしている場合、チェックボックスが選択されている場合は、この方法でチェックします。ですから、質問は、代わりに何を書くべきかです。メソッドを呼び出したチェックボックスのIDを取得しますか? JSF 1.1しか使用できないことが非常に重要なので、このバージョンでは動作しない多くのソリューションがあります。
もう1つの非常に重要なことは、チェックボックスの値をサブミット後にチェックしたり、チェックを外した直後に保存したりする必要があるため、ここではhttps://stackoverflow.com/a/48006066/9158590のようなバッキングBeanでセッター/ゲッターを使用できないということです。私はチェックした直後にバッキングBeanの格納を解決しました。ページをロードするときにtrueまたはfalseを返す必要があります。
これはページナビゲーションを使用しているためです。たとえば、1ページ目のボックスをチェックして別のページに移動してから戻ると、ボックスはもう選択されません(バッキングBeanのみ)。
にあなたは.addId(文字列ID)メソッドを実装することができ、あなたのあなたの.xhtmlで呼び出すことができます。あなたのVollectionはセットでなければなりません。 – sofarsoghood