Я не уверен, почему вы думаете, что для этого вам нужен дополнительный бина-код. У вас уже есть все необходимые значения в компоненте поддержки. Ваша проблема больше в представлении этих ценностей. Просто отобразите их в нужном формате, написав соответствующий код вида. Возможно, вы думали, что это слишком сложный путь.
Вместо логического флажка выбора можно отобразить, например, значение «Да» или «Нет».
<h:selectBooleanCheckbox value="#{bean.checked}" rendered="#{bean.edit}" />
<h:outputText value="#{bean.checked ? 'Yes' : 'No'}" rendered="#{not bean.edit}" />
Вместо выбора одного меню / радио вы можете просто отобразить значение в выходном тексте.
<h:selectOneMenu value="#{bean.selectedItem}" rendered="#{bean.edit}">
<f:selectItems value="#{data.availableItems}" />
</h:selectOneMenu>
<h:outputText value="#{bean.selectedItem}" rendered="#{not bean.edit}" />
Вместо списка выбора / флажка можно просто отобразить, например, все значения, разделенные запятой в цикле.
<h:selectManyListbox value="#{bean.selectedItems}" rendered="#{bean.edit}">
<f:selectItems value="#{data.availableItems}" />
</h:selectManyListbox>
<h:panelGroup rendered="#{not bean.edit}">
<ui:repeat value="#{bean.selectedItems}" var="selectedItem" varStatus="loop">
#{selectedItem}#{not loop.last ? ', ' : ''}
</ui:repeat>
</h:panelGroup>
Вы можете обернуть все это в файл тегов или в составной файл, чтобы свести к минимуму шаблон и повторение кода.