c: forEach внутри перьев (например, p: panelgrid) внутри ui: repeat

Я должен динамически создавать список таблиц. Каждое из них имеет переменное количество столбцов (с фиксированными строками).

Чтобы выполнить это, я сначала положил

внутри : так что я правильно составил список таблиц.

Затем, чтобы динамически создавать столбцы, я попробовал использовать или внутри

. В результате я не получаю строк.

Я написал здесь минимальный пример. В bean testBackingBean я определил (и инициализировал) переменную ArrayList<ArrayList> tables . Это xhtml, который не дает ожидаемых результатов:

  

header of #{table}

#{row}

Примечательно, что строка заголовка правильно преобразует строку #{table} в строку. Проблема в том, что я не вижу строк данных.

Кроме того, если я использую

вместо

все работает как проверено.

Кроме того, я пробовал разные перестановки и без успешных действий.

Итак, как я могу динамически создавать больше таблиц (используя простые лица) и устанавливать динамическое число столбцов?

Благодаря!

EDIT: Я хотел бы использовать два , но даже с одним только я получаю пустой результат. На самом деле, если я попробую следующий xhtml:

  current element: #{tabella}  

то я получаю пустой результат. (Я знаю, это другой вопрос)

Переход с исходного кода XHTML на сгенерированный вывод HTML – это двухэтапный процесс.

  1. Во-первых, во время времени построения исходный код XHTML анализируется и преобразуется в дерево экземпляров Java UIComponent представляющих дерево компонентов JSF-интерфейса, доступное FacesContext#getViewRoot() .

  2. Затем во время отображения времени представления дерево компонентов JSF UI выводит HTML-вывод и записывает его в HTTP-повтор, начиная с UIViewRoot#encodeAll() .

Taghandlers, как и все tags JSTL , несколько тегов JSF и только несколько тегов Facelets запускаются во время времени сборки. Компоненты пользовательского интерфейса, такие как tags JSF , несколько тегов Facelets и только несколько тегов JSF запускаются во время просмотра рендеринга.

является обработчиком тега, а является компонентом пользовательского интерфейса .

Другими словами, компоненты пользовательского интерфейса, которые объявляются внутри , многократно воссоздаются в дереве компонентов JSF на основе во время времени создания представления, которые, в свою очередь, индивидуально создают каждый свой собственный HTML-вывод во время рендеринга представления время. Компоненты пользовательского интерфейса, объявленные внутри , создаются только один раз в дереве компонентов JSF во время времени сборки, которые, в свою очередь, повторно используются несколько раз на основе для вывода HTML-вывода во время просмотра рендеринга.

Ваша конкретная проблема вызвана тем фактом, что доступна только во время просмотра рендеринга, а не во время создания времени просмотра. в основном извлекает значение #{null} как значение, когда он собирается запускать во время создания времени сборки.

Вы можете решить это, заменив внешний на . Хотя мне интересно, не лучше ли использовать .

Смотрите также:

  • JSTL в JSF2 Facelets … имеет смысл?
  • Доступ к инъецируемой зависимости в конструкторе управляемого компонента вызывает NullPointerException
  • Есть ли способ снизить кучу Java, когда он не используется?
  • Будет ли новый возврат NULL в любом случае?
  • Переопределение общедоступных виртуальных функций с частными функциями в C ++
  • Почему элементы управления не хотят удаляться?
  • Как выбрать правильную область бобов?
  • В каком порядке следует отправлять сигналы для изящного завершения процессов?
  • Получение местоположения элемента управления, относящегося ко всему экрану?
  • Найти элемент управления в Windows Forms по имени
  • В чем разница между User Control, Custom Control и Component?
  • Как ограничить авторотацию одной ориентацией для некоторых видов, позволяя при этом все ориентации на других?
  • Interesting Posts

    В чем разница между istringstream, ostringstream и stringstream? / Почему бы не использовать stringstream в каждом случае?

    Как группировать данные в Angular 2?

    Локализация в JSF, как запоминать выбранную локаль за сеанс вместо запроса / представления

    Изменить правильную маржу в представлении Programmatically?

    Как компилировать .java с поддержкой более старых версий Java?

    Adobe AIR – Пользовательский предварительный загрузчик с изображением

    Как показать детали текущей строки из p: dataTable в диалоговом окне ap: и обновить после сохранения

    Как проверить частную функцию или class с частными методами, полями или внутренними classами?

    Воспоминание в Хаскелле?

    Поддержка видео в IE9 HTML5

    Приложения на основе Eclipse производят мышь и звуковые задержки в Windows 7

    Как я могу использовать RelayCommand в wpf?

    Можно ли увеличить только вертикальный размер фигуры в PowerPoint?

    Невозможно переименовать папку в Vista (доступ запрещен)

    Различия в сценариях bash между $ @ и $ *

    Давайте будем гением компьютера.