Jsf 2 使用Omnifaces使数据过期<;o:缓存>;
我有一个很大的缓冲区,用于存储应用程序范围内的内容。使用Omnifaces让我们很容易做到这一点 但是,如果我需要使缓存过期,那么似乎没有方法可以这样做。如果需要的话,我可以设置时间属性,但这似乎不是这个谜题的理想答案 有没有关于强制更新基础数据的建议 谢谢 特马尔 但是,如果我需要使缓存过期,那么似乎没有方法可以这样做 在标记/组件上确实没有方法,但有一种编程方式。如果将显式密钥分配给缓存项,则此操作效果最佳:Jsf 2 使用Omnifaces使数据过期<;o:缓存>;,jsf-2,omnifaces,Jsf 2,Omnifaces,我有一个很大的缓冲区,用于存储应用程序范围内的内容。使用Omnifaces让我们很容易做到这一点 但是,如果我需要使缓存过期,那么似乎没有方法可以这样做。如果需要的话,我可以设置时间属性,但这似乎不是这个谜题的理想答案 有没有关于强制更新基础数据的建议 谢谢 特马尔 但是,如果我需要使缓存过期,那么似乎没有方法可以这样做 在标记/组件上确实没有方法,但有一种编程方式。如果将显式密钥分配给缓存项,则此操作效果最佳: <o:cache key="myCache"> cached
<o:cache key="myCache">
cached content here
</o:cache>
注意,默认范围是“session”,所以这里使用它。如果您为标记使用了另一个作用域(如“application”),您将在支持bean代码中指定它
只要知道缓存需要过期,就可以调用此方法(例如,如果某个操作方法更新了某些备份数据),或者可以显式执行重置按钮:
<h:form>
<h:commandButton action="#{someBean.reset}" value="Reset cache" />
</h:form>
对于OmniFaces 1.5,我们计划在
o:cache
标记中添加一个属性,使其更简单,我们将在showcase中添加一个示例,演示如何手动终止条目。谢谢,Arjan!这是一个理想的解决方案。
<h:form>
<h:commandButton action="#{someBean.reset}" value="Reset cache" />
</h:form>