Вызовите действие компонента 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}" />
Другие вопросы по тегам