2013-07-08 1 views
0

Spring MVC 프레임 워크를 사용하는 웹 애플리케이션과 같은 "장바구니"에서 세션 지속 검색 양식을 처리하는 가장 좋은 방법을 찾고 있습니다.Spring 웹 애플리케이션에서 세션 지속 검색 양식을 처리하는 가장 좋은 방법은 무엇입니까?

응용 프로그램의 다른 페이지에서 마지막 필터가 이미 설정된 상태에서이 검색 페이지로 다시 돌아가고 싶습니다. 이것은 마스터 세부 검색 결과 페이지가 아니며, 요소 테이블에 필터가있는 양식 만 아래에 표시됩니다.

내 검색 필터를 사용자 세션에 저장할 수 있지만 멀티탭 탐색 및 브라우저 백 버튼 처리는 어떻게해야합니까?

또한이 문제를 해결하기 위해 Spring WebFlow를 사용하는 것으로 생각했습니다.

제안 사항?

+0

당신은'@AttributeAttribute'와 결합 된'@ ModelAttribute'를 통해 이것을 할 수 있어야합니다. 아니면 간단히 검색 매개 변수 인 backing bean을 세션 범위에 넣을 수 있습니다. –

답변

0

스프링 웹 플로우의 conversation scope에 대한 좋은 소식입니다. 이 범위에 저장된 객체는 현재 흐름이 종료 될 때까지 (또는 시간 초과에 따라) 저장됩니다. 귀하의 경우에 그것을 사용하는 일반적인 방법은 사용자가 웹 페이지를 탐색하기 시작할 때 새로운 플로우/대화를 생성하고 검색 범위를 대화 범위에 저장하는 것입니다. 나중에 검색 페이지로 돌아 가면 매개 변수가이 범위에서 검색됩니다 (사용 가능한 경우).

대화 범위는 멀티탭 문제를 해결하고 요청 범위 만 사용하는 경우처럼 데이터를 보낼 때마다 서버로 다시 보내지 않아도됩니다.

+0

Nah ... 나는 "application wide"대화를 좋아하지 않습니다. AFAIK 그들은 여러 탭 문제를 해결할 수 없으며 해결할 수 없습니다. 사용자가 새 탭에서 흐름 링크 열기를 시작하면 곧 흐름 상태 기록이 사라지고 상태가있는 원본 페이지가 무효화됩니다. –

+0

흥미 롭습니다. 그러나 세션 범위를 사용하면 더 많은 문제가 발생합니다. 너는 무엇을 제안 하는가? – LaurentG

+0

정확히 어떤 문제가 있습니까? 여러 탭에서 검색 할 때 마지막 검색 만 지속되는 것과 같은 의미입니까? 그게 원하는 행동 아닌가요? –