Chcę dynamicznie wybrać facelet, aby wyrenderować jakiś element na mojej liście danych. Pierwsza próba będzie:Dynamic ui: include inside ui: repeat. Czy istnieje proste rozwiązanie?
<ui:repeat value="#{panels}" var="panel"> <ui:include src="#{panel.facelet}"> </ui:repeat>
Ale to nie będzie działać, ponieważ src ui: include jest oceniany zbyt wcześnie. Informacje o facelcie są naprawdę dynamiczne, więc nie mogę użyć c: forEach (nie polecam też mieszania z fasetkami). Domyślam się, że wszystko sprowadza się do znalezienia komponentu opartego na komponencie: include alternatywa.
Czy jest coś takiego, czy muszę napisać własną?
Przez wiele lat będziemy walczyć z tym samym problemem. Zastanawiam się, czy mrembisz kiedykolwiek znalazłeś lepsze rozwiązanie z JSF 2?Jeśli nie, możesz udostępnić Ci niestandardowe rozwiązanie? – cyberoblivion
@cyberoblivion wdrożyliśmy własny komponent włączający i dostosowaliśmy UIRepeat do pracy z nim - głównie w celu umożliwienia wielu poziomów zagnieżdżania. Nadal działa w naszych systemach produkcyjnych. Ale i tak odsunęliśmy się od JSF. – mrembisz
, więc rozwiązanie nie jest czymś, co przydałoby się komuś innemu lub nie wolno Ci udostępniać kodu? Bardzo interesuje mnie kod. – cyberoblivion