Дело не только в JSF / HTML, но и в CSS. Вышеуказанная схема в принципе уже может быть достигнута следующим образом:
<h:panelGroup id="header" layout="block"></h:panelGroup>
<h:panelGroup id="leftcol" layout="block"></h:panelGroup>
<h:panelGroup id="rightcol" layout="block"></h:panelGroup>
(который генерирует следующий HTML)
<div id="header"></div>
<div id="leftcol"></div>
<div id="rightcol"></div>
Вы можете стилизовать / позиционировать его с помощью CSS, например:
#header {
width: 100%;
height: 100px;
}
#leftcol {
width: 200px;
float: left;
}
#rightcol {
float: left;
}
Вот и все.