我正在使用spring webflow,这是我的流程

<view-state id="welcome">
    <transition on="emailEntered" to="checkEmail"></transition>
</view-state>
<decision-state id="checkEmail">
    <if test="alta.checkEmail(requestParameters.email)"
    then="okState"
    else="errorState"/>
</decision-state>
<view-state id="okState"/>
<view-state id="errorState"/>

我在servlet上下文中启用了自动扫描:
<context:component-scan base-package="com.me.myproj" />

我得到org.springframework.binding.expression.PropertyNotFoundException:状态checkEmail的属性未找到错误。问题是它无法识别我的“alta” bean,这是我的Alta类(放在com.me.myproj中):
@Component
public class Alta {
    public Alta(){
        System.out.println("constructor ok");
    }
    public boolean checkEmail(String email){

        return "[email protected]".equals(email);
    }

}

如果我显式创建bean:
<bean id="alta" class="com.me.myproj.Alta"/>

然后工作正常。因此,似乎流上下文无法识别自动扫描的组件,尽管实例化了alta(如我在调试时所看到的)。

我应该怎么做才能避免明确声明流程中涉及的所有bean?

最佳答案

你包括了吗

<context:annotation-config/>

在您的servlet-context.xml中?

关于spring - Spring Webflow“找不到属性”异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8977862/

10-10 16:00