2

条件付きで有効または無効にする属性が見つかりませんでしo:cacheた。これを達成する他の方法はありますか?

このようなもの:

<o:cache scope="application" disabled="#{someELexprsn}">
    ....
</o:cache>

ある条件に基づいて o:cache を無効にしたいと考えています。

(Actually I use this o:cache on a page that is used to display page for several type of entities but I want to enable cache only for pages of certain entities.)

4

1 に答える 1

2

リクエストごとにキャッシュを無効にできる属性はありません。OmniFaces に機能を追加するには、お気軽に機能リクエストを開いてください。

その間、このreset属性を悪用する可能性があります。

<o:cache scope="application" reset="#{someELexprsn}">
    ....
</o:cache>

内部的にはキャッシュされますが、EL 式が評価されるたびにリセットされtrueます。効果的には、不器用な方法で隠蔽されていますが、意図したとおりに正確に望ましい効果があります. OmniFaces 関係者によって新しい属性が追加されるまでは、これで十分かもしれません。このdisabled属性は、リセットの代わりにレンダリングの完全なパススルーを実行します (したがって、この特定の例では、キャッシュされたコンテンツはアプリケーション スコープ内にとどまりますが、単にレンダリングされません)。

于 2013-09-04T13:06:30.620 に答える