2008-09-15 4 views
7

, 나는 그 ID에플로우 정의에서

(예 점을 가진 빈에 액세스를 시도하고 그 ID의 점으로 빈을 액세스 (.) 그러나 <evaluate expression="bus.MyServiceFacade.someAction()" />

을, 그렇습니다 SWF는 대신 콩 "버스"를 찾으려고 시도합니다.

처음에는 헬퍼 빈을 사용하여 필요한 콩을로드했지만 그 해결책은 우아하고 불편합니다. 별칭 사용은 다음과 같습니다. 콩이 큰 시스템의 일부이기 때문에 질문에서 제외하고 그들과 함부로 변경할 수 없습니다.

간단히 말해서, 원래 이름을 사용하여 콩을 직접 참조 할 수있는 해결책이 전혀 없습니다. 현재 SWF 릴리스에서도 가능합니까?

+0

솔루션을 찾았습니까? – lud0h

답변

1

이것은 EL 파서 (일반적으로 Spring Web Flow의 경우 OGNL 또는 jboss-el)에 대한 제한 사항입니다. EL은 네비게이션 체인을 분석 할 때 점 표기법을 사용하여 설명하는 초기 동작을 유발합니다 ("버스"빈을 찾으려고 시도 함).

-1

내 경험상, 점 표기법을 사용하면 getter 메서드가있는 모든 요소에 액세스 할 수 있습니다. 위 예제에서 bus bean에 의해 표현되는 객체는 getServiceFacade이어야하고 getServiceFacade에 의해 반환 된 객체는 getSomeAction 메서드를 가져야합니다.

0

보십시오.

[ 'bus.MyServiceFacade'] someAction()

또는

'bus.MyServiceFacade'.someAction()

이 일 수도 있고, 월 아니지만 ... 비슷한 것들이 JSP 용 표현 언어에서 사용됩니다.

+0

두 가지 제안을 모두 시도했지만 아무 소용이 없습니다. – Arnelism

7

빈 액세서 (@) 기호와 빈 이름 주위에 작은 따옴표를 사용하여이 작업을 수행 할 수있었습니다.

예제 사용 : #{@'bus.MyServiceFacade'.someAction()}

관련 문제