2012-12-18 103 views
2

我正在使用Richface 3.3.3 Final和JSF 1.2。我有一個自定義樣式表(將包含在我的WAR中),它不會影響我在頁面上使用的豐富元素,而且它應該如何工作 - 豐富的樣式更接近。但我需要以某種方式「跳過」豐富的造型:重寫豐富的造型只是非常痛苦。有人知道一個「開關」,只是將豐富的造型關閉?如何忽略默認的richface樣式

+0

嘗試添加'<的context-param> ​​org.richfaces.LoadStyleStrategy '到** web.xml文件似乎**不爲我工作 –

回答

0

我真懷疑,如果你可以「關閉」默認富面臨的樣式類。我遇到了這個問題,並根據我的經驗提出了這個解決方案。

如果您嘗試引用您的自定義樣式表,該樣式表位於您的WAR(我的意思是,如果它放置在Web服務器上而不是放置在war文件中),請嘗試將其放入xhtml頁面。

另外,如果你是從你的自定義文件夾導入您在戰爭中自定義的CSS文件,可以嘗試在你的XHTML頁面中的CSS類。

下面是示例代碼。正如我所說,在面對同樣的問題後,我根據自己的經驗回答這個問題。

在您的XHTML頁面,

<style type="text/css"> 
.rich-stglpanel-body { 
    background-color: #FFFFFF; 
    border: 1px solid #73C5E3; 
    font-family: Tahoma,Arial,Geneva,sans-serif; 
    font-size: 11px; 
    width: 877px; 

} 
</style> 
0

我不認爲你可以關閉造型。但是,您可以使用「簡單」皮膚來避免某些造型。 添加到您的web.xml

<param-name>org.richfaces.SKIN</param-name> 
    <param-value>plain</param-value> 
</context-param> 

但是改變皮膚會影響到所有網頁。但是,如果您不希望將其應用於所有頁面,則應根據以下bean屬性有條件地設置skin

<param-name>org.richfaces.SKIN</param-name> 
    <param-value>#{myBean.skinName}</param-value> 
</context-param> 
+0

如果我一起刪除org.richfaces.SKIN參數,會發生什麼情況? –

+0

還有一種名爲「DEFAULT」的內置皮膚。如果您未指定皮膚(DEFAULT)將應用的皮膚。 – prageeth

1

即使是普通的皮膚,也包括幾個css類。 我所做的是定義一個自定義皮膚,如

<context-param> 
    <param-name>org.richfaces.SKIN</param-name> 
    <param-value>myskin</param-value> 
</context-param> 

,幷包括一個空文件在類路徑myskin.skin.properties

2

根據RichFaces Documentation你應該增加:

<context-param> 
    <param-name>org.richfaces.enableControlSkinning</param-name> 
    <param-value>false</param-value> 
</context-param> 
<context-param> 
    <param-name>org.richfaces.skin</param-name> 
    <param-value>plain</param-value> 
</context-param> 

到你的web.xml。 Skin「plain」不包含皮膚參數,用於將RichFaces組件嵌入到具有自己樣式的現有項目中。