Просто привяжите свой rich: togglePanel к тому же значению на вашем компоненте поддержки и используйте тег поддержки a4j, чтобы обновить значение и заново отобразить панель.
Следует иметь в виду, что атрибут rich: togglePanel #value должен преобразовываться в строку, поэтому вам, вероятно, нужно будет выполнить привязку к # {backingValue.name ()} (не используйте toString (), поскольку кто-то может переопределить это позже ...)
что-то вроде этого должно работать:
<h:selectOneRadio id="radioButtons" value="#{backingValue}">
<a4j:support event="onclick"
ajaxSingle="true"
reRender="radioButtons, togglePanel"/>
<s:enumItem enumValue="VAL_1" itemLabel="Value One" />
<s:enumItem enumValue="VAL_2" itemLabel="Value Two" />
<s:convertEnum />
</h:selectOneRadio>
<rich:togglePanel id="togglePanel"
switchType="ajax"
value="#{backingValue.name()}" >
<f:facet name="VAL_1">
<h:outputText value="Selected enum value 1"/>
</f:facet>
<f:facet name="VAL_2">
<h:outputText value="Selected enum value 2"/>
</f:facet>
</rich:togglePanel>
Возможно, вам также придется поиграться с привязкой событий поддержки ajax. Я обнаружил, что события «onchange» и «onselect» с переключателями могут быть немного неясными в отношении AJAX4JSF. Я сделал это с помощью Strings, где действие в моем компоненте поддержки изменяет состояние панели переключения, устанавливая значение - но оно ДОЛЖНО Работает также с перечислениями.