在进行Spring-JSF集成时,我在faces-config.xml
中看到了这个条目。
<application>
<el-resolver>
org.springframework.web.jsf.el.SpringBeanFacesELResolver
</el-resolver>
</application>
有人可以解释一下<application>
和<el-resolver>
究竟是什么吗?
答案 0 :(得分:10)
<application>
代表JSF application。正是你可以获得的那个
Application application = FacesContext.getCurrentInstance().getApplication();
<el-resolver>
代表EL resolver为used by JSF application。正是你可以获得的那个
ELResolver elResolver = application.getELResolver();
他们反过来做的究竟是什么,可以在我上面提到的javadoc中阅读。简而言之,Application
基本上代表了应用程序范围的JSF配置,而ELResolver
负责以#{...}
的形式评估EL表达式。
在SpringBeanFacesELResolver
的情况下,它根据Spring自己的应用程序上下文和配置文件来装饰底层EL解析器以识别Spring托管bean。换句话说,您可以通过EL方式在JSF页面中使用Spring托管bean。