Я довольно новичок в ICEfaces, но уже имею опыт работы с JSF / Facelets и Java EE в целом.
В настоящее время я не использую большую часть ICEfaces, за исключением некоторых служебных тегов, таких как outputStyle и outputDeclaration, но даже это очень приятно иметь.
Несмотря на то, что я планирую использовать некоторые функции AJAX позже, у меня есть некоторые h: формы (или ice: формы), которые я хотел бы отправлять как обычные запросы JSF POST, без использования / block / send-receive-updates. Причина в том, что я хочу использовать фильтр, который действует на запрошенный URI, что невозможно, если все отправлено в /block/send-receive-updates.
Есть ли способ сделать это?
Редактировать: Чтобы уточнить, что я хочу сделать:
Веб-сайт, который мы разрабатываем, состоит из общедоступных страниц, некоторые из которых доступны только зарегистрированным пользователям. Стандартный механизм безопасности на основе FORM, определенный в стандарте сервлетов, довольно негибкий, так как он позволяет определить только одну страницу входа, которая отображается, когда кто-то хочет получить доступ к некоторому ограниченному контенту. Поскольку мы также хотим, чтобы пользователь мог войти в систему с помощью небольшой формы входа, видимой на каждой странице, мы разработали фильтр, который обрабатывает аутентификацию и авторизацию почти так же, как веб-контейнер. Он перенаправляет на пользовательскую страницу входа в систему, если пользователь не аутентифицирован / авторизован, но также позволяет аутентифицировать пользователя из компонента поддержки. Чтобы заставить его работать почти прозрачно, он оборачивает запрос HttpServletRequest для предоставления ролей принципала и пользователя.
Когда фильтр перенаправляет на пользовательскую страницу входа, он сохраняет текущий запрос, чтобы «воспроизвести» его позже, когда пользователь был успешно аутентифицирован. Для этого фильтр должен иметь возможность определять, поступил ли запрос POST со страницы входа в систему (и, таким образом, теперь ли пользователь прошел аутентификацию / авторизацию). Но если каждый POST проходит через / block / send-receive-updates, это больше не работает.
Конечно, я мог бы исключить обработку страницы входа в систему ICEfaces, но это означало бы, что я не мог использовать какие-либо ICEfaces / AJAX на странице входа в систему.