Ponowne używanie komponentów.

0

Witam.

Obecnie intensywnie uczę się JSF.
Zauważyłem, że tworząc strony .xhtml bardzo często łapię się, na kopiowaniu fragmentów kodu pomiędzy stronami.
Jest to niewygodne i bywa uciążliwe, gdy trzeba pozmieniać tę samą rzecz w kilku miejscach.

Przykład ( używam kontrolek Primefaces ).

Mam jakieś menu kontekstowe, które dołączam do 5 różnych stron (dokładniej do 5 tabel na tych stronach):

 

<p:contextMenu for="usrMan" styleClass="my-contextmenu">
                                
<p:menuitem value="Nowy rekord" onclick="addDialog.show()"
                     actionListener="#{userBean.newRec}"/>

<p:menuitem value="Edytuj rekord" onclick="editDialog.show()"
                     actionListener="#{userBean.editRec}"/>

<p:menuitem value="Usuń rekordy" onclick="remDialog.show()"
                     actionListener="#{userBean.remRec}" />

</p:contextMenu>

Logicznym posunięciem jest wyłączenie powtarzalnej części do osobnego pliku i dołączanie jego zawartości,
tam gdzie to potrzebne. Tu jednak kryje się pewien problem.
W zależności od tego, do jakiej strony dołączę menu, powinno się zmieniać również
ziarno zarządzane ( np. dla tabeli kotów powinno być: actionListener="#catsBean.newRec" ).
Nie może to być więc rozwiązanie oparte o prosty mechanizm ui:define/ui:insert

W jaki sposób osiągnąć taki efekt z użyciem JSF.
Przykłady mile widziane :D

0

Należy wyłączyć daną część strony do nowego pliku .xhtml a następnie włączać jego treść z pomocą ui:include, tam gdzie jest nam potrzebna.
Szczegóły tutaj: http://www.roseindia.net/jsf/include.shtml .

1 użytkowników online, w tym zalogowanych: 0, gości: 1