У меня богатое дерево, и оно содержит несколько узлов. У меня есть флажок рядом с каждым узлом. Когда я устанавливаю флажок, необходимо установить флажок, относящийся ко всем дочерним элементам, а когда я снимаю флажок, все дочерние элементы должны быть сняты. У меня есть приведенный ниже код в моем файле xhtml. В поддерживающем bean-компоненте я установил для всех дочерних элементов значение Checked/Unchecked в зависимости от события. Дерево изначально находится в "свернутом" режиме. Когда я нажимаю на флажок и разворачиваю узел, я вижу, что все дочерние элементы проверяются. Но когда я снимаю/проверяю в расширенном режиме, значения не отражаются в дочерних элементах. Не могли бы вы помочь мне узнать, что мне не хватает? Спасибо.
<rich:tree id="producttree" switchType="server"
value="#updateProductBean.deviceServiceTreeRoot}" var="item">
<rich:treeNode id="productnode">
<h:selectBooleanCheckbox value="#{item.selected}"
rendered="#{item.value == null && item.checkbox == true}"
valueChangeListener="#{updateProductBean.submitUpdateProduct}">
<f:attribute name="selectedProductId" id="selectedProductId"
value="#{item.paramID}" />
<f:attribute name="selectedProductName" id="selectedProductName"
value="#{item.name}" />
<a4j:support event="onclick" reRender="producttree,productnode">
</a4j:support>
</h:selectBooleanCheckbox>
<h:outputText value="#{item.name}" rendered="#{item.value == null}" />
</rich:treeNode>
</rich:tree>