我想第一次使用JSF Facelet模板/ Facelet模板客戶端。我正在用Netbeans 7.2.1創建模板和模板客戶端。當我運行創建的JSF項目並調用http://localhost:8080/jpaweb/template.xhtml
時,我可以看到模板樣式,但是當我調用客戶端模板http://localhost:8080/jpaweb/client.xhtml
時,我看到純文本沒有樣式。這兩個文件都在同一個目錄中,並由Netbeans嚮導創建。請幫我解決這個問題。JSF 2模板本身顯示樣式,但模板客戶端顯示純文本沒有樣式
的template.xhtml
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="./resources/css/default.css" rel="stylesheet" type="text/css" />
<link href="./resources/css/cssLayout.css" rel="stylesheet" type="text/css" />
<title>Facelets Template</title>
</h:head>
<h:body>
<div id="top" class="top">
<ui:insert name="top">Top</ui:insert>
</div>
<div>
<div id="left">
<ui:insert name="left">Left</ui:insert>
</div>
<div id="content" class="left_content">
<ui:insert name="content">Content</ui:insert>
</div>
</div>
</h:body>
</html>
client.xhtml
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets">
<body>
<ui:composition template="./template.xhtml">
<ui:define name="top">
Welcome, to my website
</ui:define>
<ui:define name="left">
My links
</ui:define>
<ui:define name="content">
This page is created for testing
</ui:define>
</ui:composition>
</body>
</html>
如果您已經安裝了NetBeans創建JSF項目和JSF的模板和模板客戶端會得到你這樣的結果。我也在Netbeans 1.7.0中嘗試過。同樣的問題。
編輯:我運行的頁面不像http://localhost:8080/jpaweb/client.xhtml
,但像http://localhost:8080/jpaweb/faces/client.xhtml
它的工作。我的項目中沒有「faces」目錄。我們是否必須爲所有JSF鏈接添加「faces」?
編輯2:我認爲NetBeans會自動配置所有jsf文件保存在faces目錄中,即使在我的項目中沒有這樣的目錄。在項目屬性 - >框架 - > JavaServer Faces - >配置中有字段JSF Servlet URL模式,賦值爲/ faces/*。我認爲這意味着必須調用jsf文件,就好像它位於faces目錄中一樣。試圖迫使它工作,因爲它出現在我的項目中是一個錯誤:)
爲了更好地理解具體問題,一些代碼將會很有幫助。請確保您發佈了儘可能小的代碼片段,以便通過將所有設置爲默認值的項目複製到完全空白的項目中來重新編排您的整個問題。你似乎是在生成代碼而不是編寫代碼(當你剛剛開始時,這是一個非常糟糕的主意,但是ala)。 – BalusC 2013-03-01 13:25:44