2017-12-07 27 views
0

페이지로드시 bean 액션을 호출하려고하는데, bean은 세션 범위에 등록됩니다.페이지에서 JSF 1 bean 액션을 호출하십시오.

나는 이것을 js와 같이 수행했다 : - document.getElementById ('form1 : show_data'). click();

나는 빈 생성자에서 액션을 호출하여 수행 할 수 있지만 세션 범위에서는 액션이 ​​한 번만 호출된다는 것을 알고있다. JSF 1에서 이것을 수행하는 다른 방법이있다.

+0

가능한 복제 ([JSF 페이지로드에 콩 조치를 관리 호출] https://stackoverflow.com/questions/2451154/invoke-jsf-managed-bean-action- 페이지로드시) –

답변

0

요청 스코프에 또 다른 빈을 만들 수 있으며 생성자에서 세션 빈을 얻고 호출해야하는 것을 호출 할 수있다.

public RequestScopedBean() { 
    FacesContext fc = FacesContext.getCurrentInstance(); 

    SessionScopedBean ssb = (SesssionScopedBean) fc 
     .getApplication() 
     .getVariableResolver() 
     .resolveVariable(fc, "sessionScopedBean"); 
    ssb.callSomething(); 
} 

요청 범위가 지정된 bean을 뷰에서 참조하여 작성해야합니다.

이 할 것 :의

<f:subview rendered="#{requestScopedBean = null}" />