사용자가 로그인 할 때 만든 15 개의 최근 레코드 목록을 표시하는 페이지가 있습니다. jsf 페이지에는 검색 기준과 명령 버튼에 대한 필드가 거의없는 두 개의 폼이 있습니다. 다른 양식은 레코드를 가져 와서 그것을 표시 할 datatable을 가지고 있습니다. 데이터 테이블 마지막 열에는 상태에 따라 표시되는 링크가 있습니다.JSF 명령 버튼
h : datatable 태그에 레코드를 표시하려면 해당 빈의 검색 속성이 null 인 경우 레코드를 반입하는 Backing Bean RecordSearchBean 등록 정보 레코드를 사용하고 있습니다. RecordSearchBean 갖는된다 proerties :
FROMDATE는 TODATE (기록을 표시하는 데 사용) 기록 fetchRecords() (사용자의 최근 15 개 레코드를 얻는 방법) 를 (검색 criertia 사용) (검색 criertia 사용) searchRecords는 (의 ActionEvent E)
공개 목록 getRecentRecord() {
경우 (FROMDATE == 널 & & TODATE == NULL) (JSF 페이지에서 검색 버튼 호출) { this.records의 =의 fetchRecords() ; } this.records를 반환합니다. }
공개 목록 fetchRecords() { // 코드 기록 }
공공 무효 searchRecords (의 ActionEvent 전자) { 의 목록을 얻을 // 코드 검색 기준에 따라 레코드를 얻을 수 목록 searchedRecords = getREcords (this); this.records = searchedRecords; }
이 RecordSearchBean은 요청 범위에 있습니다.
jsf에서 무엇을하는지는 사용자가 로그인 한 다음 레코드 속성으로 채워진 레코드를 가져 와서 데이터 테이블에 표시하는 것입니다.
사용자가 jsf 페이지에서 검색 버튼을 클릭하면 recordsRecords actionlistener에 의해 records 속성이 채워집니다. 그 때까지는 모든 일이 순조롭게 진행되고 있지만 마지막 열의 데이터 테이블에 제공된 링크를 클릭하면 다시 로그인하게됩니다. 사용자가 로그인하면 표시되는 레코드 목록을 다시 얻게됩니다.
홈 페이지가 하나 있습니다 탭에서 사용자가이 탭을 클릭 할 때 그는 로그인 할 때 사용자에게 표시되는 15 개의 레코드 목록을 가져옵니다.
이 문제는 jsf 관리 bean 범위와 관련이 있다고 생각합니다. Bean의 범위를 지정하면 databale의 마지막 열에있는 모든 링크가 올바르게 작동합니다. 사용자가 다음 그는 저를 도와주세요.
에 로그인 할 때 그가 가지고 있었다 레코드 목록을받지 않습니다 홈 페이지를 클릭 할 경우이 경우
.