Ответ 1
Вы не можете сделать это со стандартной реализацией JSF. В JSF 1.2 можно было бы использовать Tomahawk <t:panelGroup colspan="2">
для это. Сейчас Tomahawk официально не совместим с JSF 2.0, но я просто попробовал.
<html xmlns:t="http://myfaces.apache.org/tomahawk">
...
<t:panelGrid columns="3">
<t:panelGroup>row1cell1</t:panelGroup>
<t:panelGroup>row1cell2</t:panelGroup>
<t:panelGroup>row1cell3</t:panelGroup>
<t:panelGroup colspan="2">row2cell1-2</t:panelGroup>
<t:panelGroup>row2cell3</t:panelGroup>
<t:panelGroup>row3cell1</t:panelGroup>
<t:panelGroup colspan="2">row3cell2-3</t:panelGroup>
<t:panelGroup>row4cell1</t:panelGroup>
<t:panelGroup>row4cell2</t:panelGroup>
<t:panelGroup>row4cell3</t:panelGroup>
</t:panelGrid>
И это работает. Я не гарантирую, что другие компоненты Tomahawk тоже будут работать.