2012-02-24 11 views
1

他のすべてのページで使用されるマスターテンプレートがあります。JSFテンプレートで特定の名前空間宣言を処理する方法

私がPrimeFacesコンポーネントを使用しているページや、一部のページがFaceletを使用しているとします。現時点では私はこのようなマスターテンプレート内のすべての名前空間を宣言する必要があります。

<html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:f="http://java.sun.com/jsf/core" 
    xmlns:ui="http://java.sun.com/jsf/facelets" 
    xmlns:p="http://primefaces.org/ui"> 

これはPrimeFacesコンポーネントのないページはまだPrimeFacesの名前空間宣言を持っていることを意味します。これは良いアイデアですか?

マスターテンプレートから非共通の名前空間を除外して特定のページに宣言するにはどうすればよいですか?

答えて

0

これは、PrimeFacesコンポーネントのないページには依然としてPrimeFaces名前空間宣言があることを意味します。これは良いアイデアですか?

これはまったく問題ありません。 Faceletsは、HTMLをレンダリングしている間は、それらを削除します。名前空間宣言は、現在のテンプレートのどこでも使用されていない場合は、そのままにしておくことができます。名前空間宣言は、現在のテンプレートにのみ適用され、含まれている/装飾されたテンプレートには適用されません。私たちは、マスターテンプレートから非共通の名前空間を残して、特定のページにそれを宣言することができますどのように


あなたはそうすることができます。それは問題にならないはずです。

関連する問題