Я не думаю, что это возможно со стандартными компонентами JSF. Но вы можете использовать MyFaces Tomahawk для достижения этой цели. Компонент <t:selectOneRadio>
предлагает макет spread
. Таким образом, вы можете разместить каждую кнопку радио, где вы хотите. Примерно так:
<t:selectOneRadio id="mySelectOneRadio" layout="spread">
<f:selectItems value="#{options}"/>
</t:selectOneRadio>
<h:graphicImage value="/some/image1.png"/>
<t:radio for="mySelectOneRadio" index="0"/>
<h:graphicImage value="/some/image2.png"/>
<t:radio for="mySelectOneRadio" index="1"/>
..