Ответ 1
Это довольно большая путаница. org.w3c.dom.html.HTMLDivElement
не является компонентом JSF. Это представляет собой элемент W3 DOM, который имеет совершенно другую цель (JAXP, разбор DOM).
Вам нужен подкласс javax.faces.component.UIComponent
(просто нажмите свой путь через "Прямые известные подклассы" в предыдущем Javadoc, чтобы найти их все). Чтобы отобразить элемент HTML <div>
, используйте HtmlPanelGroup
, для атрибута layout
установлено значение block
.
HtmlPanelGroup div = new HtmlPanelGroup();
div.setLayout("block");
someParentComponent.getChildren().add(div);
который делает то же самое, что и в "статическом" JSF:
<h:panelGroup layout="block" />