2010-05-14 2 views
2

이것은 언젠가는 나를 괴롭 히고있는 질문입니다. 내 응용 프로그램은 UI 프레임 워크에 ICEFaces를 사용하고 Dependency Injection에는 스프링 2.5를 사용합니다. 또한 Spring은 실제로 ICEFaces 프레임 워크가 아닌 모든 백킹 빈을 유지하므로 faces-config는 기본적으로 비어 있습니다.요청 범위 콩 사이에 매개 변수를 전달하는 방법

탐색은 실제로 탐색 규칙을 통해 처리되지 않습니다. window.open을 사용하여 새 창에 대한 수동 리디렉션을 수행합니다.

모든 bean은 우리의 appContext 파일에서 request-scoped로 정의됩니다. BackingBeanABC에 의해 뒷받침되는 Page ABC가 있습니다. 그 백킹 빈 안에는 매개 변수가 있습니다.

private Order order; 

그런 다음 BackingBeanXYZ로 페이지 XYZ를 지원합니다. 페이지 ABC에서 페이지 XYZ로 리디렉션 할 때 ABC에서 XYZ로 '주문'속성을 전송하려고합니다. 문제는 모든 것이 요청 범위이며 리디렉션을 수행하고 있기 때문에 '설명'의 가치를 잃고 있습니다.

리디렉션 중에 요청 범위의 Bean간에 오브젝트를 전달하는 더 쉬운 방법이 있어야합니다. 아무도이 문제를 도와 줄 수 있습니까?

답변

1

세션 범위가 문제를 해결합니다.

자세한 내용은 Spring reference documentation에서 읽을 수 있습니다.

또 다른 방법은 HttpSession 개체에 직접 order 개체를 설정하는 것입니다. 나는 그것을 선호했을 뿐이며 Spring이 관리하는 서비스, 컨트롤러 및 리파지토리 만 가질 수 있습니다.

+0

네,하지만 그걸 옵션으로 사용하고 싶지는 않습니다. 앱의 모든 managedbeans은 요청 범위입니다. – sma

+0

왜? 요청 범위 Bean을 세션 범위 Bean처럼 작동 시키려고합니까? – Espen

+0

세션이 여기에서 작동한다는 것을 알고 있지만, 여기있는 미친 시나리오가 아닙니다. 필요한 것은 요청보다 길지만 세션보다 작은 범위입니다. Spring Webflow가 구축되고 Seam의 대화 범위가 구축되었습니다 (둘 중 어느 것도 허용되지 않습니다 - 묻지 않음). – sma

1

요청 범위 Bean이 FacesContext를 통해 참조 할 수있는 단일 세션 범위 Bean을 작성하십시오.

+0

나는 그것을 실제로 전에했고, 그것을 위해 비방을 받았다. 나는 그걸로 돌아갈지도 모른다. 그것은 잘 작동하는 것 같았다. – sma

+0

세션 데이터를 세션 컨텍스트에 넣기 위해 비방? 좋은 시간! – Naganalf

관련 문제