2017-12-28 19 views
0

バッキングでselectBooleanCheckboxが、ここでJSFコンポーネントです:
JSF 1.1 - 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のみを使用できることは非常に重要なので、このバージョンでは動作しない多くのソリューションがあります。

+0

'値= "backingBean.value"'で間違っ...なければならない '値= "#{backingBean.value}" – Kukeltje

答えて

0

EDIT:@Kukeltjeが正しくメモしているように、主な問題は値の式が正しくないことです。これを変更すると、以下が適用されます。

チェックボックスの値(「設定」または「設定解除」)を計算する必要はありません。 JSFは、その時点で(つまり、ページを送信したとき)、チェックボックスのオン/オフに応じて、backingbean.setValue(x)xtrueまたはfalse)と単にコールします。

value="#{backingBean.value}"と言っているため、これは自動的に発生します。

したがって、setValue()には、引数を格納するだけで、getValueに格納された引数が返されます。残りはJSFによって行われます。

チェックボックスをデフォルトでオンにする場合は、保存された値をtrueに設定します。例えば

private boolean storedValue = true; // or false if you want it to be off by default 

public boolean getValue() { 
    return storedValue; 
} 

public void setValue(boolean value) { 
    this.storedValue = value; 
} 
+1

'値= "backingBean.value" '間違っています... 'value = "#{backingBean.value}" ' – Kukeltje

関連する問題