Проведя много времени с javascript, я решил перейти на сторону сервера.Таким образом, для реализации вышеупомянутых узлов дерева функций отправка ajax-запросов при каждом щелчке, затем на стороне сервера выполняется выбор или отмена выбора всех дочерних узлов, и после завершения обработки запроса компонент дерева перерисовывается.Следующий код демонстрирует содержимое одного узла:
<rich:tree id="tree" ...
<rich:treeNode ...
<h:selectBooleanCheckbox value="#{_node.selected}">
<a4j:support event="onclick" action="#{_node.select(_node.selected)}" reRender="tree">
</a4j:support>
</h:selectBooleanCheckbox>
</rich:treeNode>
</rich:tree>
Где _node.select (_node.selected) выполняет всю работу на стороне сервера.