JSF композитный компонент детский - PullRequest
1 голос
/ 15 февраля 2011

Есть ли способ использовать EL для получения списка детей, чтобы я мог перебрать его с помощью

<ul>
   <ui:repeat value="#{Magic El expression}" var="children" >
      <li>
      <p> #{children.title} *</p>
      </li>
   </ui:repeat>
</ul>
<div>
 <cc:insertChildren />
</div>

* perhaps #{children.attrs.title} I don't know?

Что я пытаюсь сделать здесь, это создать составной компонент Tab.Я знаю, что библиотеки, такие как простые лица, предлагают tabview и т. Д. Но мне нужно создавать свои собственные из-за расширенных функциональных возможностей jquery.Плюс я работаю с конкретным шаблоном.Мне нужно получить заголовок вкладки, чтобы создать список для вкладок.Вкладки - это дочерние компоненты. В любом случае, я могу перебирать и получать их атрибуты?Я имею в виду, что Primefaces так или иначе делает это.

Если вы посмотрите на их HTML-разметку, они создадут неупорядоченный список с заголовками каждого дочернего компонента tabview.Как это реализовано?

Ответы [ 2 ]

2 голосов
/ 15 февраля 2011

Если разметка, которую вы показываете, находится внутри составного компонента (я полагаю, что это так), то вот выражение, которое даст вам доступ к его дочерним элементам:

#{component.getCompositeComponentParent(component).children}

Слегка связанный вопрос: В JSF2, как узнать, есть ли у составного компонента дочерние элементы?

0 голосов
/ 21 сентября 2016

Если ваш составной компонент является экземпляром: javax.faces.component.UINamingContainer Попробуйте:

    <c:forEach items="#{cc.children}" varStatus="loop" var="child">
      loop[#{loop.index}]: #{child.getAttributes().get('title')}
    </c:forEach>

Вы можете легко отладить, какой экземпляр является вашей переменной JSF, распечатав ихна страницу типа #{cc} или #{component}

Ура!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...