我正在使用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/