0

こんにちは、「connection」という名前の Spring Bean があります。Webflow の SpEL 式でそれを明示的に参照するにはどうすればよいですか。つまり、Webflow に存在する可能性のある「connection」という名前の他の変数を SpEL に見つけさせたくないということです。スコープ - これは私が現在行っていることです:

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

Bean のみをターゲットにするために「@」を前に付ける方法について読みました。正しい方法とは何ですか?

4

2 に答える 2

0

これは、私のクラスで静的メソッドを呼び出す方法です。これを試してください。

<action-state id="initialise-connection">
    <evaluate result="flowScope.initialisedConnection" expression="@com.app.connection.method()"/>
</acton>
于 2014-07-01T21:20:28.637 に答える
0

Bean メソッドまたはクラスのサブクラス内evaluateのメソッドを呼び出すために使用されるタグexecute()Action

たとえば、独自のアクションを定義する場合は、構成ファイルのように初期化@Componentまたは定義する必要がありますbeanXML

@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"/>
于 2014-07-01T05:12:07.927 に答える