在我的網站上,我希望能夠通過鏈接更改區域設置,但我無法使用它。問題是,我可以在每個頁面上指定一個< f:metadata
標籤有以下和工作在模板中正確使用<f:metadata><f:viewParam ...
<ui:define name="metadata">
<f:metadata>
<f:viewParam name="locale" value="#{changeLocaleController.locale}"/>...
但是那是相當難看,因爲這個功能無關,每個單頁和referes在控制元件頁面標題,我敢打賭,我會錯過同一頁上的元素somewhen。所以我想將其轉移到我的主頁面模板或頁眉模板中,而不是定義頁面模板的body元素的單個頁面。我的模板結構如下:一個主模板,一個頁眉模板,一個左側打開的內容部分(每個實際頁面需要填寫)和一個頁腳模板。但如果我移動這個(顯然然後<ui:define name="metadata">
),然後沒有反應,如果我點擊鏈接的原因我不明白。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE ...>
<ui:insert name="metadata" /><
<h:head>
some css etc
</h:head>
<h:body>
<ui:insert name="header">
<ui:include src="header.xhtml" />
</ui:insert>
<ui:insert name="content" />
<ui:insert name="footer">
<ui:include src="footer.xhtml" />
</ui:insert>
</h:body>
所以基本上我想上面的標籤片移動從內容部分整體模板或標題部分消失,但不起作用。這有可能嗎?
在我的頭節我有
<h:link>
<f:param name="locale" value="#{language.locale}" />some image
</h:link>
乾杯 湯姆
順便說一句,如果我替換'的 '在我的主模板,並把在' '這也不起作用。對我來說很奇怪,因爲基本上它與工作的代碼是相同的,除了標籤的位置在不同的文件中... –
Tom
http://docs.oracle.com/javaee/6/javaserverfaces/2.1 /docs/vdldocs/facelets/f/metadata.html,我不能把放在模板中。 「這個標籤必須駐留在給定viewId的頂層XHTML文件中,或者在模板客戶端中,但不在模板中。」任何想法,我可以建立這個,而不必把它放在每一個頁面上?即如果我把它放到標題中,爲什麼它不起作用? –
Tom
如果您將它放在模板中,則不起作用,因爲它是在您引用的文本中說的內容。 – EJP