일부 프로젝트의 검색 페이지를 만들어야합니다. 입력 필드는 다음과 같습니다제출 후 JSF + richfaces 문제가 발생했습니다.
<h:inputText styleClass="field35" value="#{searchBean.country}"></h:inputText>
<h:inputText maxlength="20" styleClass="field35" value="#{searchBean.destination}"></h:inputText>
<rich:calendar datePattern="dd/MM/yyyy" value="#{searchBean.startDate}"></rich:calendar>
<rich:calendar datePattern="dd/MM/yyyy" value="#{searchBean.endDate}"></rich:calendar>
을 나는 누른 후 :
<h:commandButton id="cb41" action="#{searchBean.processForm}" value="Search" styleClass="button" />
나는 결과는 같은 페이지에서 rich:dataTable
섹션에서 인쇄 할 것으로 예상된다. processForm
방법 결과 변수
<rich:dataTable value="#{searchBean.results}" var="journey">
데이터베이스는 사용자로부터의 데이터를 동일한 페이지에 전달 채워져있다.
처음 검색 후에도 문제가 없지만 검색을 다시 누르면 bean과 페이지 입력 필드 사이의 바인딩이 손실됩니다. 즉, country, destination, startData 및 endDate의 processForm 메서드에서 페이지의 해당 필드에 무엇이 있더라도 null 만 가져옵니다.
빈의 범위는 요청이며 모든 필드에는 getter와 setter가 있습니다.
누구에게 어떤 문제가있을 수 있습니까?
감사합니다.
편집 : 덕분에 t-EDD 세션 범위 근무 변경, 그러나 그것은 성능 살인자의 비트가 세션에서 모든 시간을 전체 콩을 유지하기 위해 (복잡한 내가 원하는 페이지를 떠나 그 때마다 삭제)입니다 . 왜 콩이 파괴 되었는가를 이해하지만, 다음 페이지에서 적절한 값으로 다음 페이지를 요청하면 새 페이지가 생성되어서는 안됩니까?
사용할 수 있습니다 세션 범위에서 bean은 성능을 저하시키는 요인입니다! 그것은 무엇입니까 - 그것은 서버에서 사용자 세션 당 하나의 수명 동안 당신의 bean을 유지하고 있습니다. wchich는 어떤 자원을 필요로하지만 그것의 문제는 생각하지 않습니다. 사용자 세션이 만료되면 Bean이 삭제됩니다. – Eduard