我找不到任何有条件地启用或禁用的属性o:cache
。有没有其他方法可以做到这一点?
像这样的东西:
<o:cache scope="application" disabled="#{someELexprsn}">
....
</o:cache>
我想根据某些条件禁用 o:cache。
(实际上,我在用于显示多种类型实体的页面的页面上使用此 o:cache,但我只想为某些实体的页面启用缓存。)
没有属性可以让您在每个请求的基础上禁用缓存。随意打开功能请求,以便将其添加到 OmniFaces。
同时,您可以滥用该reset
属性。
<o:cache scope="application" reset="#{someELexprsn}">
....
</o:cache>
在幕后,它仍然会缓存它,但每次 EL 表达式计算时都会重置它true
。在效果上,它确实具有预期的效果,尽管它是以笨拙的方式完成的。在 OmniFaces 人员添加新属性之前,这可能就足够了。该disabled
属性将代替重置执行完整的渲染传递(因此,在此特定示例中,缓存的内容仍将在应用程序范围内,但根本没有被渲染)。