Это довольно серьезная путаница. org.w3c.dom.html.HTMLDivElement
не является компонентом JSF. Это представляет собой элемент DOM W3, который имеет совершенно другое назначение ( 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" />