Я хочу динамически создать объект HtmlDivElement в моем управляемом jsf bean и добавить его в панель, но кажется, что HtmlDivElement - это интерфейс. Итак, как я могу это сделать?
Создание динамических элементов управления в jsf managed bean?
Ответ 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" />