2011-03-01 45 views
7

我想我的自定義命名空間添加到<html>元素JSF .xhtml文件(實際上,這個命名空間是不是我的,這是Facebook的):如何將自定義命名空間添加到JSF中的HTML元素?

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" 
    xmlns:fb="http://www.facebook.com/2008/fbml"> 

JSF /鑽嘴魚科給了我一個警告:

Warning: This page calls for XML namespace http://www.facebook.com/2008/fbml 
declared with prefix fb but no taglibrary exists for that namespace. 

我能理解它是什麼意思,但如何解決這個問題?

+0

警告究竟是一個問題?如何禁止/隱藏此警告不是唯一的問題嗎? – BalusC 2011-03-01 12:09:16

+0

嗯,警告告訴我有關軟件的不正確行爲。 JSF正試圖加載'taglibrary',這不是我想要的。 – yegor256 2011-03-09 05:54:40

+0

您是否找到了解決方案?某些瀏覽器,如Safari,如果使用fb:login-button(或類似的)標記,而不在xhtml中導出xmlns:fb,但JSF不會將名稱空間導出到html元素,則會顯示一個大的紅色錯誤框。 – 2011-08-04 16:08:17

回答

1

您可以通過的web.xml文件您的應用程序添加以下行抑制警告

.. 
     <!-- Debug Output for Development --> 
     <context-param> 
     <param-name>javax.faces.PROJECT_STAGE</param-name> 
     <param-value>Production</param-value> 
     </context-param> 
... 
+0

嗯,重點不是要壓制警告,而是要指示JSF不要把我的名字空間當作一個'taglibrary'。 – yegor256 2011-03-09 05:55:41

0

有兩種方式去與此。如果你不使用它

  • 讓JSF知道該命名空間

    1. 刪除命名空間

    爲了讓JSF您可能需要在classpath被定義標記庫相應的庫(也許你正在使用一個facebook.jar或其他?)。您需要將這個庫包含在.war文件中。或者,如果它是你自己的命名空間,創建一個taglibrary file並確保它被加載到web.xml中,以便Facelets(我希望你使用Facelets和JSF或JSF 2)將加載標籤庫和知道命名空間。

  • 相關問題