Мое приложение (JSF 2, Java 6, JBoss 7.1) должно предлагать два режима работы: режим доступности и не доступность.
В режиме доступности некоторые (не все) страницы имеют особый дизайн, который лучше читать с помощью программы чтения с экрана. Разница между двумя режимами является чисто визуальной, управляемые beans точно такие же. В идеале, код Java не должен быть изменен.
Большая часть работы выполнена:
- Для переключения между режимами была добавлена ссылка на верх страницы.
- Была добавлена поддержка bean для обращения к клику по ссылке
- Когда доступность включена, атрибут добавляется в файл cookie сеанса, чтобы отметить его доступность.
- Добавлен ResourceResolver для перезаписи пути страниц к доступной версии, когда доступность включена для определенного запроса от определенного пользователя.
Со всем этим он работает почти отлично, но похоже, что есть какой-то вид кеша, который ломает мое решение. Рассмотрим следующий сценарий:
- Приложение запускается в режиме отсутствия доступа
- Я перемещаюсь по нескольким страницам
- Включить режим доступности, нажав соответствующую ссылку
- Я получаю страницу с сообщением о том, что я сейчас в режиме доступности, и я заметил, что меню изменилось на его версию доступности (другой компонент, существующий в другом шаблоне страницы).
- Я перехожу к страницам, которые не были посещены, и все они находятся в режиме доступности.
- Я перехожу к посещаемым страницам, прежде чем переключать доступ к включенным, и я вижу их в не доступной версии
На последнем шаге мы можем понять, что даже в режиме доступности и с использованием перевода пути ресурса (у меня есть журналы для подтверждения), страницы генерируются так, как они были в режиме по умолчанию, а не в доступе.
Итак, действительно ли есть кеш страниц в JSF? Как я могу его очистить, так что страницы будут снова отображены?
Обновление 1
Мониторинг сети показал, что запрос действительно выдается в приложение, поэтому здесь не используется кеш браузера.