Создание динамических элементов управления в JSF управляемого бина? - PullRequest
2 голосов
/ 03 марта 2010

Я хочу динамически создать объект HtmlDivElement в моем управляемом компоненте jsf и добавить его на панель, но кажется, что HtmlDivElement является интерфейсом. Итак, как я могу это сделать?

1 Ответ

10 голосов
/ 03 марта 2010

Это довольно серьезная путаница. 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" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...