primefaces デフォルト・スタイルシートをカスタマイズ [JSF]
primefacesのデフォルト・スタイルシートを無効にして、カスタマイズする。
何も設定しないと、こんな感じでスタイルシートがロードされる。
<link type="text/css" rel="stylesheet" href="/(ルート)/faces/javax.faces.resource/theme.css?ln=primefaces-aristo" />
これをまず無効にするにはweb.xmlに以下の内容を追記する。
<context-param>
<param-name>primefaces.THEME</param-name>
<param-value>none</param-value>
</context-param>
あとはprimefacesのjarファイルを解凍して、resources下に必要なものをコピー。
cssを好きなようにカスタマイズする。
xhtmlファイル
<link type="text/css" rel="stylesheet" href="resources/primefaces-aristo/theme.css" />
jarファイルのありかはこちら。
何も設定しないと、こんな感じでスタイルシートがロードされる。
<link type="text/css" rel="stylesheet" href="/(ルート)/faces/javax.faces.resource/theme.css?ln=primefaces-aristo" />
これをまず無効にするにはweb.xmlに以下の内容を追記する。
<context-param>
<param-name>primefaces.THEME</param-name>
<param-value>none</param-value>
</context-param>
あとはprimefacesのjarファイルを解凍して、resources下に必要なものをコピー。
cssを好きなようにカスタマイズする。
xhtmlファイル
<link type="text/css" rel="stylesheet" href="resources/primefaces-aristo/theme.css" />
jarファイルのありかはこちら。
JSFテンプレート機能を使う(1) [JSF]
テンプレート内で別のxhtmlをincludeしたら警告が発生した。
1つまたは複数のリソースに 'head' のターゲットがありますが、'head' コンポーネントがビューで定義されていません。
テンプレート・クライアント
<body>
<ui:composition template="/layout/template02.xhtml">
<ui:define name="left">
サイド・メニュー
</ui:define>
<ui:define name="top">
<ui:include src="/comment/top.xhtml" />
</ui:define>
top.xhtml
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html">
<head>
<title>コメント メニュー</title>
</head>
<body>
<head>定義で何かが足りないらしい。
調べたところ、headがJSFとして明示的に定義されていないが問題らしい。
そこでtop.xhtmlのheadを以下のように修正。
<head jsfc="h:head">
これで警告メッセージは出なくなった。
1つまたは複数のリソースに 'head' のターゲットがありますが、'head' コンポーネントがビューで定義されていません。
テンプレート・クライアント
<body>
<ui:composition template="/layout/template02.xhtml">
<ui:define name="left">
サイド・メニュー
</ui:define>
<ui:define name="top">
<ui:include src="/comment/top.xhtml" />
</ui:define>
top.xhtml
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html">
<head>
<title>コメント メニュー</title>
</head>
<body>
<head>定義で何かが足りないらしい。
調べたところ、headがJSFとして明示的に定義されていないが問題らしい。
そこでtop.xhtmlのheadを以下のように修正。
<head jsfc="h:head">
これで警告メッセージは出なくなった。