我在將JSF應用程序轉換爲可書寫頁面方面取得了很多進展,但我想知道我是否正確地做到了這一點。一個問題是,是否有f:metadata標籤的最佳實踐位置?使用<ui:composition>模板時,我應該在哪裏聲明<f:metadata>?
我典型的Facelets客戶端頁面看起來是這樣的:
<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
所以F:元數據和兒童F:viewParam標籤在我的頁面的主體遇到的。我的pattern.xhtml模板也有一個部分(名爲「標題」),可以將這些標籤放在標題部分。他們應該放在那裏嗎?它是否有所作爲,還是我設置了一些我還沒有看到的副作用?
我必須說,看起來比我一直在做的事情要乾淨一些。不知何故,我沒有想到爲了元數據目的創建一個** ui:insert **,但我現在就可以。 – AlanObject 2012-03-25 03:27:31
這是否意味着'f:metadata'不能放在例如一個頁面模板中以使它可重用?那麼如果我們想在每個視圖呈現之前執行一些操作,那麼該怎麼做呢? – 2014-01-20 14:25:24
@Xtreme:只需使用''。它實際上不需要放在''內。另請參閱http://stackoverflow.com/questions/7343220/jsf-does-it-matter-whether-place-fevent-inside-fmetadata-or-not/7343242#7343242 –
BalusC
2014-01-20 14:26:43