Zrobiłem duży postęp w konwersji moich aplikacji JSF na strony z książkami, ale zastanawiam się, czy robię to we właściwy sposób. Jedno pytanie brzmi: czy istnieje najlepsza praktyka dla tagów f: metadata?Podczas korzystania z <ui: composition> templating, gdzie powinienem zadeklarować <f:metadata>?
Mój typowy klient Facelets strona wygląda tak:
<ui:composition template="./pattern.xhtml">
<ui:define name="content">
<f:metadata>
<f:viewParam name="userId" value="#{bean.userId}" />
<f:viewParam name="startRecord" value="#{bean.startRecord}" />
<f:viewParam name="pageSize" value="#{bean.pageSize}" />
<f:viewParam name="sort" value="#{bean.sort}" />
</f:metadata>
<h1>Data Table</h1>
etc
Więc f: f metadanych i dziecko : viewParam znaczniki występują w ciele mojej stronie. Mój szablon pattern.xhtml zawiera również sekcję (o nazwie "header"), która może umieścić te znaczniki w sekcji nagłówka. Czy należy je tam umieścić? Czy to robi różnicę, czy też jestem nastawiony na jakiś efekt uboczny, którego jeszcze nie widziałem?
Muszę powiedzieć, że wygląda nieco czystsze niż to, co robiłem. Jakoś nie przyszło mi do stworzenia ** ui: insert ** tylko dla celów metadanych, ale teraz będę. – AlanObject
Czy oznacza to, że 'f: metadata' nie może być umieszczony na przykład w szablonie strony, aby można go było ponownie użyć? Co zrobić, jeśli istnieje jakieś działanie, które chcemy wykonać dla każdego widoku, zanim zostaną renderowane? –
@Xtreme: Po prostu użyj ''. W rzeczywistości nie jest wymagane umieszczanie wewnątrz ''. Zobacz także http://stackoverflow.com/questions/7343220/jsf-does-it-matter-whether-place-fevent-inside-fmetadata-or-not/7343242#7343242 –
BalusC