2013-09-04 4 views
2

o:cache을 조건부로 활성화 또는 비활성화 할 수있는 속성을 찾을 수 없습니다. 이 작업을 수행 할 수있는 다른 방법이 있습니까? 일부 조건에 따라 캐시 :속성을 통해 o : cache를 조건부로 활성화 또는 비활성화합니까?

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

나는 O를 사용하지 싶습니다

이런 식으로 뭔가.

는 (사실 나는이 O를 사용합니다. 개체의 여러 유형에 대한 페이지를 표시하는 데 사용되는 페이지의 캐시를하지만 특정 개체의 페이지에 대한 캐시를 사용하려면)

답변

2

더 속성 없습니다있는 요청별로 캐시를 비활성화 할 수 있습니다. OmximFaces에 추가하려면 feature request을 자유롭게 열어보십시오.

한편, reset 속성을 남용 할 수 있습니다.

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

는 내부적으로, 여전히 그것을 캐시합니다하지만 EL 표현식이 true을 평가 매번 resetted 될 것이다. 효과 있음, 그것은 원하는 효과를 의도적으로 가지고 있지만 서투른 방법으로 수행됩니다. 새로운 속성이 OmniFaces 친구들에 의해 추가 될 때까지는 충분할 수 있습니다. disabled 속성은 재설정 대신 전체 렌더링 통과를 수행합니다. 따라서이 특정 예에서 캐시 된 내용은 여전히 ​​응용 프로그램 범위에 있지만 단순히 렌더링되지 않았습니다.

+0

기능 요청 추가 : https://code.google.com/p/omnifaces/issues/detail?id=241 –