Web アプリケーションの CND に静的ファイルをプッシュしています。そのために、私は正常CDNResourceHandler
に動作する OmniFaces を使用しました。ただし、私のスタイルは従いません。
私は次のようにマッピングされています:
javax.faces:jsf.js=http://.../jsf.js,
primefaces:primefaces.js=http://.../primefaces.js,
primefaces:jquery/jquery.js=http://.../jquery.js,
primefaces:jquery/jquery-plugins.js=http://.../jquery-plugins.js,
primefaces:idlemonitor/idlemonitor.js=http://.../idlemonitor.js,
primefaces-smoothness:theme.css=http://.../theme.css,
primefaces:primefaces.css=http://.../primefaces.css,
styles:main04.css=http://.../main04.css,
私のスタイルがすべてオフであることを除いて、これはうまく機能します。theme.css
レンダリング結果は、 ANDprimefaces.css
がロードされていない場合と同じです。
によって処理されるこれらのリソースを削除するCDNResourceHandler
と、ページは必要に応じて読み込まれます。これらのファイルがページ上で読み込まれていることを確認できます ( Inspect Element
-> resources
Web ブラウザーで、これらが存在し、読み込まれていることを示します)。
PrimeFaces スタイルが CDN 経由で機能しないという経験をした人はいますか? これを機能させる方法はありますか?
私のアプリケーションは以下で実行されます:
- オムニフェイス 1.6
- プライムフェイス3.5
- マジョラ 2.2
- Glassfish 3.1.2.2 (Glassfish 4 でも試しました)
編集 1
これをもう少し詳しく調べたところ、css ファイルが処理されていない#{resources[]}
ようです。CSS 内の何かがそのまま残っています。これは、ファイルがFaces Servlet
url-pattern
. これにより、私が探しているものを達成するには、CND リソースを処理する必要があると信じるようになります...?
編集 2
奇妙なことに、生成された HTML には読み込まれたすべてのリソースが含まれています。CDN 経由で読み込まれた場合、リソース (Primefaces スタイル) が処理されないようです。
これは、ページが機能しない場合に読み込まれるリソースです。Primefaces が提供する基本的なスタイルを除いて、すべてが機能します。
<link type="text/css" rel="stylesheet" href="http://.../theme.css" />
<link type="text/css" rel="stylesheet" href="http://.../primefaces.css" />
<link type="text/css" rel="stylesheet" href="http://.../main04.css" />
<link type="text/css" rel="stylesheet" href="http://.../main_compact.css" />
<link type="text/css" rel="stylesheet" href="http://.../ironmanCompact.css" />
<script type="text/javascript" src="http://.../jquery.js"></script>
<script type="text/javascript" src="http://.../primefaces.js"></script>
<script type="text/javascript" src="http://.../idlemonitor.js"></script>
<script type="text/javascript" src="http://.../jquery-plugins.js"></script>
<script type="text/javascript" src="http://.../jsf.js"></script>
<script type="text/javascript" src="http://.../jquery.ba-postmessage.js"></script>
<script type="text/javascript" src="http://.../tracker.js"></script>
<script type="text/javascript" src="http://.../socialMedia.js"></script>
Primefaces スタイルを CDN から削除することで、次の生成された HTML が完全に機能し、ページが適切に生成されます。
<link type="text/css" rel="stylesheet" href="/myapp/javax.faces.resource/theme.css.xhtml?ln=primefaces-smoothness" />
<link type="text/css" rel="stylesheet" href="/myapp/javax.faces.resource/primefaces.css.xhtml?ln=primefaces" />
<link type="text/css" rel="stylesheet" href="http://.../main04.css" />
<link type="text/css" rel="stylesheet" href="http://.../main_compact.css" />
<link type="text/css" rel="stylesheet" href="http://.../ironmanCompact.css" />
<script type="text/javascript" src="http://.../jquery.js"></script>
<script type="text/javascript" src="http://.../primefaces.js"></script>
<script type="text/javascript" src="http://.../idlemonitor.js"></script>
<script type="text/javascript" src="http://.../jquery-plugins.js"></script>
<script type="text/javascript" src="http://.../jsf.js"></script>
<script type="text/javascript" src="http://.../jquery.ba-postmessage.js"></script>
<script type="text/javascript" src="http://.../tracker.js"></script>
<script type="text/javascript" src="http://.../socialMedia.js"></script>