2009-08-04 2 views
4

Spring에서 일부 참조를 수동으로 가져 오는 내 응용 프로그램 용 Struts RequsetProcessor를 작성했습니다. 그것은 잘 작동하지만, 나는 "올바른"일을하고 건설 시간에 필요한 모든 것을 주입하고 싶습니다.Spring이 Struts RequestProcessor에 삽입

Struts가이 RequestProcessor를 인스턴스화 할 때 Spring 객체를 삽입 할 수있는 방식으로 사용자 정의 Struts RequestProcessor를 정의하는 방법이 있습니까?

답변

1

짧은 대답은 "아니오"입니다. 긴 대답은 "가지"입니다 : 당신이 원하는

A)는 "ProcessorContext"빈을 생성 (또는 무엇이든 :

은 스트럿츠는 ContextLoaderPlugin를 통해 응용 프로그램에서 봄과 통합되어 가정하고

, 당신은 두 가지 중 하나를 수행 할 수 있습니다 이를 호출하려면 Spring 컨텍스트에서 정의하고 커스텀 요청 프로세서로부터 액세스하려면 Spring 컨텍스트 ( WebApplicationContextUtils.getWebApplicationContext(getServletContext())을 통해 얻을 수 있음)에서 액세스해야한다. 사용자 정의 프로세서는 봄의 DelegatingRequestProcessor 또는 DelegatingTilesRequestProcessor 확장

B) 경우에 당신은 대신이 기능이 많다는, 모든 의존성과 컨텍스트를 봄 다음 확장에 결합하고 싶은 것을 할 것 새로운 요청 프로세서를 쓸 수 DelegatingRequestProcessor 또는 DelegatingTilesRequestProcessor 컨텍스트 (형식 또는 ID를 통해)에서 가져 와서 위임합니다. 이것은 본질적으로 (A)의 확장이지만 모든 Spring의 배관을 Spring의 요청 프로세서 확장으로 위임하여 사용자 지정 프로세서를 Spring과 무관하게 만듭니다.

스프링/스트럿츠 통합에 대해서는 here에 자세히 설명되어 있습니다.

+0

답변에 URL을 포함 해 주셔서 감사합니다 ... 그 정보는 많은 도움이됩니다. –