Ponowne używanie komponentów.

Odpowiedz Nowy wątek
2011-09-27 17:44
kzz
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

Nie znam się dobrze na JSF (tzn słabo się znam), ale polecam Apache Wicket, tam bardzo łatwo tworzy się komponenty. - Wibowit 2011-09-27 17:57

Pozostało 580 znaków

2011-10-01 07:04
RJM
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 .

edytowany 1x, ostatnio: RJM, 2011-10-01 07:05

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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