Я хочу динамически создать объект HtmlDivElement в моем управляемом bean-компоненте jsf и добавить его в панель, но кажется, что HtmlDivElement - это интерфейс. Итак, как я могу это сделать?Создание динамических элементов управления в управляемом bean-компоненте jsf?
2
A
ответ
10
Это довольно серьезное замешательство. 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" />
Смежные вопросы
- 1. Создание динамических элементов управления
- 2. Создание динамических элементов управления динамически
- 3. Создание динамических элементов управления в итеративном EditTemplate
- 4. Создание javascript для динамических элементов управления?
- 5. Создание динамических элементов управления на странице_LoadComplete
- 6. Добавление динамических элементов управления
- 7. Создание динамических элементов управления на основе выбранного значения статического управления
- 8. Создание динамических форм управления Постоянный
- 9. Создание динамических элементов управления в PreInit Событие жизненного цикла страницы?
- 10. Утечка памяти в .NETCF - создание динамических элементов управления?
- 11. TemplateBinding для динамических элементов управления
- 12. ошибка создания динамических элементов управления
- 13. Создание динамических веб-элементов управления без переключения или IFElse
- 14. Создание динамических элементов управления с помощью MVC JQuery предложение
- 15. Создание и поиск динамических элементов управления на странице
- 16. Создание динамических элементов управления и привязки к набору данных
- 17. Проверка динамических элементов управления в asp.net mvc4
- 18. Создание элементов управления
- 19. Создание элементов управления динамически
- 20. Asp.net Web из динамических элементов управления На основе динамических элементов управления
- 21. Создание элементов управления динамически
- 22. динамическое создание элементов управления
- 23. создание элементов управления потоком
- 24. Создание элементов управления в цикле
- 25. jQuery инструмент для подключения динамических элементов управления
- 26. Следует избегать динамических элементов управления asp.net
- 27. WinForms: переменное количество динамических элементов управления TextBox
- 28. Создать константу для динамических элементов управления
- 29. советы по созданию динамических элементов управления
- 30. Как узнать, сколько динамических элементов управления создано?
благодаря BalusC! но теперь у меня другая проблема. Идентификатор, который я даю динамически сгенерированной группе панелей, не выглядит таким же, когда я рассматриваю исходный код в mozilla. Если я даю id как «abc» + autoincrementNo, тогда, когда я просматриваю источник в mozilla, я получаю что-то вроде j_idt9: abc_1. Как мне избавиться от этого j_idt9: он автоматически получает префикс. На самом деле для меня важно получить контроль над сгенерированным идентификатором. Я бы не задал такой глупый вопрос: p – TCM
Вам нужно предоставить каждому из родительских компонентов 'UINamingContainer' (' f: subview', 'h: form',' h: dataTable' и т. д.) и фиксированный идентификатор. Кстати: если вы действительно нуждаетесь в фиксированных идентификаторах по причинам JavaScript, тогда есть и другие (лучшие) способы решения этого вопроса, при каждом просто передавая сам элемент JS-функции как «this». Например. 'onclick =" doSomething (this) "и' function doSomething (element) {var id = element.id; } ' – BalusC
Кстати, я вижу в вашем профиле, что вы никогда не поддерживали или ниспровергали. Ответ с 0 баллов выглядит странно. Вы можете подняться, нажав стрелку вверх и вниз, нажав стрелку вниз. Когда вам нравится какой-либо ответ, поддержите его. Когда ответ не имеет значения, просто оставьте его так. Когда вам не нравится какой-либо ответ, уменьшите его. – BalusC