[英]Changing JSF ManagedBeans to Spring Component
一段时间后,我与JSF和Spring一起工作,发现我需要在托管bean中使用Spring的AOP,但是例如,当我将它们从以下更改时:
@ManagedBean("title")
@RequestScope
public class Title{
...
}
(可以无缝运行)到
@Component
@Scope("request")
public class Title{
...
}
尽管spring尝试根据需要创建这些bean(因为它设置了一些Autowired属性),但是找不到从我的.xhtml文件引用的某些属性,例如:
org.apache.myfaces.view.facelets.el.ContextAwarePropertyNotFoundException: javax.el.PropertyNotFoundException: Property 'selectedUser' not found on type $Proxy50
任何机构都可以帮忙吗?
当您想将Spring AOP应用于实现任何接口的类时,您应该将该类的所有公共方法包括在它实现的接口中,或者使用proxy-target-class = "true"
配置AOP。
有关此行为的解释,请参见7.6代理机制 。
如果您的xhtml jsf页面无法访问您的Spring Bean,请检查是否在faces-config.xml中具有以下配置:
<application>
<el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver>
</application>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.