Вызовите действие компонента JSF 1 при загрузке страницы
Я пытаюсь вызвать действие bean при загрузке страницы, bean зарегистрирован в сеансе.
Я сделал это с помощью js следующим образом:- document.getElementById('form1:show_data'). Click();
Я знаю, что это можно сделать альтернативно, вызвав действие в конструкторе компонента, но в области действия сеанса это действие вызывается только один раз. есть ли другие способы сделать это в JSF 1?
1 ответ
Вы все еще можете создать другой bean-компонент в области запроса и в его конструкторе получить сессионный bean-компонент и вызывать все, что вам нужно для вызова.
public RequestScopedBean() {
FacesContext fc = FacesContext.getCurrentInstance();
SessionScopedBean ssb = (SesssionScopedBean) fc
.getApplication()
.getVariableResolver()
.resolveVariable(fc, "sessionScopedBean");
ssb.callSomething();
}
Вам все равно нужно как-то ссылаться на bean-объект области видимости запроса, чтобы убедиться, что он будет создан.
Это будет делать:
<f:subview rendered="#{requestScopedBean = null}" />