2013-04-05 58 views
1

我包括了header.html(不.xhtml)到我的網頁,但是當我預覽我的網頁,它給我的錯誤「XML解析錯誤:找不到元素「。我知道這是標籤沒有正確關閉的問題,但由於我的標題頁是一個html文件,而不是一個xhtml文件,它不應該關閉標籤,我是對嗎?
如果我關閉header.html中的所有元標記,我的頁面工作正常,但我想知道它是否必須在html文件中正確關閉所有標記,如果我將它們包含在jsf2中,謝謝。JSF 2的用戶界面:包括html的給錯誤「XML解析錯誤:沒有的元素中找到」

了header.html

<!DOCTYPE html> 
<html> 
    <head> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
    <title>Header</title> 
    <meta name="description" content=""> 
    </head> 
    <body>header content</body> 
</html> 

welcome1.xhtml

<ui:include src="header.html" /> 
<p>welcome page</p> 

回答

0

Oracle's documentation<ui:include>用於encapsulate and reuse content among multiple XHTML pages。預計src屬性將指向格式良好的XML文檔。即使您想要包含.html頁面,也需要確保所有標籤都已正確關閉。

+0

我看,謝謝你的信息:) – 2013-04-09 03:23:15

0

如果你更仔細,你會看到收盤<html>標籤在你header.html中,這應該結束HTML文檔,正如你在Structure of an HTML document中看到的那樣。通過這種方式,當您在最終視圖中包含文件時,將違反該合同。

在JSF中,最好使用facelets的模板選項。例如,在主模板中,您可以創建插入點(如腳本部分),然後在模板客戶端頁面(最終視圖)中定義插入的內容。開球的例子可以發現in this tutorial by mkyong

+0

是的我在我的項目中使用模板方式,但我只是沒有在這個問題中展示出來。但是,因爲這個header.html中由第三方提供的,所以我不允許modifiy的內容,所以它不可能放在<界面:組成> 我的問題是,爲什麼所有的HTML標籤必須請在header.html頁面中正確關閉,以便我的歡迎頁面能正常工作? – 2013-04-05 08:08:12

相關問題