2012-03-12 57 views
1

我正在使用JSF 2.0開發我的第一個項目,所以請原諒我,如果這是一個愚蠢的問題。但是,我似乎無法找到谷歌搜索後回答這個問題。在CSS中定位JSF 2.0組件

基本上,我有一個樣式其中,作爲一個例子,增加了這種風格:

body { 
    padding-top: 60px; 
} 

這工作得很好,如果我的HTML文件使用<body>標籤,但如果我用<h:body>不起作用(假設我使用快捷鍵「h」導入JSF HTML taglib)。

對於任何其他組件,這是一樣的痛苦,尤其是在嘗試設計表單組件時。

任何幫助將非常感激。謝謝。

回答

4

但如果我使用<h:body>(假設我使用快捷鍵「h」導入JSF HTML taglib)不起作用。

這是如此。 JSF在web服務器上運行。 JSF生成HTML。網絡服務器將此HTML發送到瀏覽器。所有的瀏覽器都是JSF生成的HTML,而不是JSF源代碼本身。 CSS僅在瀏覽器中運行。所有的CSS都可以使用JSF生成的HTML。在瀏覽器中打開JSF頁面,單擊右鍵,然後點擊查看源文件以自己查看。 <h:body>已成爲<body>

如果您的CSS存在問題,那是其他地方引起的。至少,您需要根據JSF生成的HTML輸出來設計CSS,而不是JSF源代碼。

+0

其實這**是**。我意識到JSF如何將HTML呈現給瀏覽器,這讓我更加困惑。你說這不應該發生,我明白這一點。我的問題是它**正在發生。 問題的發生與我的問題完全相同。如果我將''標籤更改爲''標籤,則CSS不會在元素上呈現。 – 2012-03-12 13:54:49

+2

那麼,瀏覽器檢索到未解析的JSF源代碼?瀏覽器檢索到''而不是''?那意味着'FacesServlet'沒有被調用。請確保瀏覽器地址欄中的請求網址與其「」相匹配,或者更容易,只需將其「」更改爲「* .xhtml」,以便您不需要擺弄像* .jsf這樣的虛擬URL。如上所述,這是一個完全不同的問題原因:) – BalusC 2012-03-12 13:56:32

+0

乾杯,非常感謝。 – 2012-03-12 14:02:25