используя томагавк, мы можем попробовать использовать layout = "spread" как:
<t:selectOneRadio id="test" value="one" layout="spread" border="1">
<f:selectItem itemLabel="one" itemValue="one" />
<f:selectItem itemLabel="two" itemValue="two" />
<f:selectItem itemLabel="three" itemValue="three" />
<f:selectItem itemLabel="four" itemValue="four" />
<f:selectItem itemLabel="five" itemValue="five" />
</t:selectOneRadio>
<t:panelGrid columns="2">
<t:radio for="test" index="0"></t:radio>
<t:radio for="test" index="1"></t:radio>
</t:panelGrid>
<t:panelGrid columns="3">
<t:radio for="test" index="2"></t:radio>
<t:radio for="test" index="3"></t:radio>
<t:radio for="test" index="4"></t:radio>
</t:panelGrid>
, а затем использовать ajax для повторного отображения этого t: selectOneRadio, чтобы перейти к другому макету.