У меня есть веб-приложение ICEfaces, которое содержит компонент со свойством, связанным с переменной bean-компонента. Теоретически переменное значение программно модифицировано, и компонент видит изменения и соответственно обновляет его внешний вид/свойства.Как можно мгновенно обновить параметры компонента JSF/ICEfaces?
Однако, кажется, что изменение переменной не «замечено» компонентом до конца цикла JSF (что, по моему основному пониманию, является render response phase).
Проблема заключается в том, что у меня есть длинная операция копирования файлов для выполнения, и я хотел бы, чтобы компонент inputText отображал периодическое обновление состояния. Однако, поскольку компонент обновляется только на этапе отклика рендера, он не показывает любой вывод до тех пор, пока методы Java не закончат выполнение, и это покажет, что все изменения скопированы сразу.
Я попытался с помощью FacesContext.getCurrentInstance().renderResponse()
и других функций, таких как PushRenderer.render(String ID)
заставить XmlHttpRequest инициализировать рано, но независимо от того, внешнего вида компоненты не изменяется до тех пор, код Java не закончит выполнение.
Одним из возможных решений, которое приходит на ум, является наличие невидимой кнопки, которая автоматически «нажимается» компонентом, когда шаг 1 длинной операции завершается, и, щелкнув по нему, он вызывает шаг 2 и так далее и так далее. Похоже, что это сработает, но я не хочу тратить время на взломать такое неэлегантное решение, когда я надеюсь, что есть более элегантное решение, встроенное в JSF/ICEfaces.
Я что-то упускаю или прибегаю к уродливым хакам - единственный способ добиться желаемого поведения?
Необычный материал ... Большое спасибо ... Icefaces Пример сосать, но вы предоставили такую ясность :) Спасибо :) – Makky
Я рад, что смог помочь! Не забудьте подтвердить ответ, если это будет полезно! Очень хорошая вещь о PortableRenderer заключается в том, что вы можете передать его как параметр для метода в другом классе, чтобы вызвать визуализацию из не-bean-контекста. – StockB
Его просто стыдно, что они не предоставляют учебник в правильном коде. Я очень благодарен за предоставление примеров ... – Makky