В настоящее время я столкнулся со следующей проблемой, и я был бы признателен, если бы кто-нибудь мог мне помочь здесь. Я новичок в JSF...
У меня есть приложение JSF со следующей архитектурой: основной сайт index.html содержит Javascript, который открывает XMLHttpRequest для сервлета с параметрами разрешения экрана пользователя. Сервлет получает запрос, извлекает параметры разрешения экрана и отправляет их объекту сеансового компонента:
String wth = request.getParameter("width");
String hgt = request.getParameter("heigh");
HttpSession session = request.getSession(true);
Object o = session.getAttribute("mainSessionBean");
MainSessionBean mainSessionBean = (MainSessionBean) o;
mainSessionBean.setScreenWidth(wth);
mainSessionBean.setScreenHeight(hgt);
Теперь это работает по-своему, проблема в том, что на самой первой странице (index.html) объект сеансового компонента не имеет параметра, но если мы перейдем на другой сайт, сеансовый компонент имеет параметр. Я считаю, что это означает, что index.html отображается/создается до создания объекта сеансового компонента. Если мы перейдем на другой сайт, объект сеансового компонента имеет необходимые значения размера экрана. Итак, где я сейчас, так это в том, что я могу динамически настраивать элементы JSF в соответствии с разрешением экрана пользователя, но только со второй посещенной страницы и далее.
Чего я хотел бы добиться, так это того, что Javascript инициирует свой XMLHttpRequest к сервлету, затем сервлет вызывает сеансовый компонент, передает необходимое разрешение размера экрана, и когда создается первая страница, необходимые параметры уже на месте.
Я не совсем уверен, что делаю это правильно, но буду признателен за любой совет, ссылку на нужный ресурс.