2013-09-04 2 views
2

Не удалось найти атрибут для условного включения или отключения o:cache. Есть ли другой способ сделать это?Условно включить или отключить o: кеш через атрибут?

Что-то вроде этого:

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

Я хотел бы отключить о: кэш на основе некоторого условия.

(На самом деле я использую этот O:. Кеш на странице, которая используется для отображения страницы для нескольких типов сущностей, но я хочу, чтобы включить кэширование только для страниц определенных лиц)

ответ

2

Там нет атрибута, который позволяет отключить кеш для каждого запроса. Не стесняйтесь открывать feature request, чтобы добавить его в OmniFaces.

В то же время вы можете злоупотреблять атрибутом reset.

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

Под одеялом, он все равно будет кэшировать его, но он будет сброшен каждый раз выражение EL оценивает true. В эффектах он имеет точно желаемый эффект, как намеренный, хотя он находится под обложками, сделанными неуклюжим образом. Этого может быть достаточно, пока новый атрибут не будет добавлен ребятами OmniFaces. Атрибут disabled вместо сброса выполняет полный прогон рендеринга (таким образом, в этом конкретном примере кешированный контент будет по-прежнему находиться в области приложения, но просто не отображается).

+0

Добавлен запрос функции: https://code.google.com/p/omnifaces/issues/detail?id=241 –

 Смежные вопросы

  • Нет связанных вопросов^_^