在我的JSF 2.0 Facelets應用程序中,我有一個光榮的模板,我希望所有頁面都可以使用。它位於名爲template.xhtml的Web應用的根目錄中。所以它被引用,因爲你會期望:我的模板中獲取資源的絕對路徑名
<ui:composition template="./template.xhtml">
但我現在導航,然後到子目錄中的客戶端文件。由於權限級別不同,以這種方式組織它們非常有用。這些子目錄中的facelets可能會引用相同的模板,如下所示:
<ui:composition template="../template.xhtml">
到目前爲止這樣好。然而,在模板的頭我拉在CSS這樣的:
<link href="./resources/css/default.css" rel="stylesheet" type="text/css" />
<link href="./resources/css/tableLayout.css" rel="stylesheet" type="text/css" />
<link href="../resources/css/default.css" rel="stylesheet" type="text/css" />
<link href="../resources/css/tableLayout.css" rel="stylesheet" type="text/css" />
的原因冗餘參考的是,我還沒有發現任何其他方式來獲得模板從根的環境中工作目錄或子目錄。以/開頭的路徑,除非你把應用程序的名稱在像這樣
/TheApp-Ver1_0/resources/css/default.css
的問題,這不工作是絕對路徑有一個變量,而不是常量開始。該變量取決於應用程序在容器中的部署方式。有沒有解決這個問題的乾淨方法?
我做了一些搜索找到這個問題。誠實。然而我懷疑這是另一個其中BalusC在其中一個提供了一個鏈接到一個盲點明顯的解決方案廣泛討論我錯過了某處。
你又做了一次。我注意到這些標籤尚未包含在這裏提到的一些在線參考中:http://stackoverflow.com/questions/539041/whats-the-best-online-reference-for-jsf-tags – AlanObject
很多人都有JSF 2.x(2009年下半年推出)發生了變化。您提到的鏈接是從2009年2月開始的,僅提及JSF 1.x文檔。對於所有JSF 2.x標記,請查看JSF 2.x文檔:http://download.oracle.com/javaee/6/javaserverfaces/2.1/docs/vdldocs/facelets/當您使用JSF 2.x時,確保您正在閱讀JSF 2.x針對性教程/書籍/文檔/答案。 – BalusC
因此,沒有任何機會引用不在資源文件夾中的css或js文件?既沒有可能從瀏覽器中獲取js/css資源,例如myhost/resources/partials/my.css? – ses