webflow求表达式不调用方法

时间:2013-01-14 11:02:10

标签: java spring spring-webflow

在流程中:

<action-state id="create">
        <evaluate expression="operatore_rer" result="flowScope.operatore_rer" />
        <evaluate expression="mainService.getComuni()" result="flowScope.comuni_list" />
        <transition to="nuovo-operatore-rer" />
    </action-state>

evaluate表达式不会调用方法mainService.getComuni()

我必须在哪里以及如何声明mainService ????

如果我在applicationContext中声明这个:

<bean id="mainService" class="com.aieap.services.MainService" />

这是错误:

GRAVE: StandardWrapper.Throwable
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mainService' defined in ServletContext resource [/WEB-INF/dispatch-servlet.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.aieap.services.MainService]: Specified class is an interface

帮帮我

2 个答案:

答案 0 :(得分:1)

@Service("mainService")注释设置为实现MainService接口的类,并在bean中引用该类而不是接口。通过这种方式,bean可以初始化,您可以在Web流程中调用它。

答案 1 :(得分:0)

mainService必须是Spring知道的bean。通过Spring XML配置文件(可以通过flow.xml导入到<bean-import>文件中,或通过web.xml加载),或者通过基于注释的bean定义。