2012-03-14 3 views
3

내 문제는 다음과 같습니다. 데이터 세트가 표시된 테이블이있는 MVP GWT 응용 프로그램이 있습니다. 수 백 개의 데이터 세트가 있으므로 20 개의 결과 페이지에서 표를 분리하기로 결정했습니다. pagenumber를 인수로 사용하는 GWT-RPC 서비스를 통해 서버에서 각 페이지를로드합니다.GWT MVP 활동을 변경하지 않고 기록 토큰을 업데이트하십시오.

이제 다음을 수행하고 싶습니다. 토큰이 TablePlace : page = 5와 같을 수 있도록 사용자가 히스토리 토큰에 표시하는 테이블의 페이지를 저장하고 싶습니다.하지만 원하지 않습니다. 활동이 관리하는 다른 요소 (예 : TreeView가 있음)의 상태가 손실되므로 새 활동을 작성하십시오. 내 경우에는 TreeView의 모든 항목이 닫히고, 이는 내가 원하는 것이 아닙니다.

새로운 장소를 실행하지 않으면 사용자는 이전에 방문한 페이지로 돌아 가기 위해 브라우저의 뒤로 버튼을 사용할 수 없습니다.

미리 도움을 주셔서 감사합니다.

답변

4

당신은PlaceControllergoTo가 다른 곳으로 이동하기가 정상을 발행 싶지만, 당신의 ActivityMapper, 당신은 이전과 동일한 Activity 인스턴스를 반환 할 것입니다. 그 특별한 경우에 ActivityManager은 활동을 중지/시작하지 않고 대신 자신의 삶을 움직이게합니다. (장소가 변경되었다는 신호조차하지 않고도 원한다면 ActivityMapperActivity에게 말하십시오).

사용자가 매퍼에 부담을주지 않고 약간 다른 장소에서 동일한 작업을 반환하는 데 유용한 FilteredActivityMapperCachingActivityMapper을 찾을 수도 있습니다.

+1

도움을 주셔서 감사합니다. 내가 한 일은 다음과 같습니다. \t \t 내 getActivity (Place place) 메소드에서 AppActivityMapper를 작성했습니다. 다음과 같이 작성했습니다. if (place AbstractFlace) && ((AbstractPlace) place) .isSelfFired() return {return lastActivity; } AbstractPlace는 내가 이미 작성한 클래스이므로 selfFired 부울을 추가하는 것이 매우 쉽습니다. 내 Activity가 자신을위한 장소를 만드는 경우이 속성을 true로 설정하고, 그렇지 않으면 false입니다. – jcvj

관련 문제