当我在Spring管理的bean中需要BeanFactory时,我使用:
private @Autowired BeanFactory factory;
我如何在Managed Bean中实现这一目标? 我试过了:
@ManagedProperty(value = "#{BeanFactory}")
private BeanFactory beanFactory;// (the property has getters and setters)
但该属性为null。
我在faces-config中有一个EL解析器:
<el-resolver>
org.springframework.web.jsf.el.SpringBeanFacesELResolver
</el-resolver>
谢谢你,抱歉我的英语不好:)
答案 0 :(得分:1)
看来您的@ManagedProperty
标记可能是问题,因为(value = "#{BeanFactory}")
应该是(value = "#{beanFactory}")
,除非您的BeanFactory类在@ManagedBean标记中被特别命名为“BeanFactory”在其中。
默认情况下,使用@ManagedBean注释的bean将映射到它们的类名,但第一个字符将是小写,例如:“BeanFactory”被映射为“beanFactory”,FooBean变为“fooBean”。