2014-06-16 2 views
0

안녕하세요, 저는 "connection"이라는 이름의 봄빈을 가지고 있습니다 - 웹 플로우에서 SpEL 표현식을 명시 적으로 참조 할 수 있습니까? 명시 적으로 SpEL이 시도하지 않게하려고합니다. 및 webflow 범위에있을 수있는 '연결'라는 이름의 다른 변수를 찾을 수 -이 내가 현재하고 있어요 무엇 :SpEL 표현식에서 스프링 빈을 명시 적으로 참조하는 방법

<action-state id="initialise-connection"> 
    <evaluate result="flowScope.initialisedConnection" expression="connection"/> 

난 단지 목표 콩에 "@"로 접두사에 대해 읽었습니다 - 어떤이입니다 올바른 연습과 어떻게해야합니까?

+0

시도해주세요. # {connection} –

답변

0

빈의 메소드를 호출하는 데 사용되는 evaluate 태그 또는 Action 클래스의 서브 클래스 내부 execute() 방법

당신이 당신의 자신의 행동을 정의하는 경우, 그것은 당신의 XML 구성 파일에 bean@Component로 초기화하거나 정의되어야한다 예를 들어

@Component 
public class MyAction { 
    public Connection doSomething(RequestContext context){ 
    ... 
    } 
} 

그리고 당신의 흐름 정의 XML 파일

, 당신은 단순히이

처럼 부를 것이다
<evaluate result="flowScope.initialisedConnection" expression="myAction.doSomething(flowRequestContext)"/> 

하지만 Action 클래스의 서브 클래스를 정의한다면, 그것은이

@Component 
public class MyAction implements Action { 

    @Override 
    public Event execute(RequestContext context) { 
    ... 
    } 
} 

처럼 그리고 당신의 흐름 정의 XML 파일에있을 것입니다, 당신은 이것은이

<evaluate result="flowScope.initialisedConnection" expression="myAction"/> 
0

처럼 부를 것이다 어떻게 클래스 내 정적 메서드를 호출하는 데 사용됩니다. 이것을 시도하십시오.

<action-state id="initialise-connection"> 
    <evaluate result="flowScope.initialisedConnection" expression="@com.app.connection.method()"/> 
</acton> 
관련 문제