faces-config.xml中的EL解析器

jav*_*rld 8 jsf spring el faces-config

在进行Spring-JSF集成时,我看到了这个条目faces-config.xml.

<application>
    <el-resolver>
        org.springframework.web.jsf.el.SpringBeanFacesELResolver
    </el-resolver>
</application>
Run Code Online (Sandbox Code Playgroud)

有人可以解释究竟是什么<application>以及<el-resolver>是谁?

Bal*_*usC 10

<application>代表JSF应用程序.正是你可以获得的那个

Application application = FacesContext.getCurrentInstance().getApplication();
Run Code Online (Sandbox Code Playgroud)

<el-resolver>表示EL解析器使用JSF应用.正是你可以获得的那个

ELResolver elResolver = application.getELResolver();
Run Code Online (Sandbox Code Playgroud)

反过来他们究竟可以在他们上面链接的javadoc中读到它们.简而言之,它Application基本上代表了应用程序范围的JSF配置,并ELResolver负责以形式评估EL表达式#{...}.

在这种情况下SpringBeanFacesELResolver,它根据Spring自己的应用程序上下文和配置文件来装饰底层EL解析器以识别Spring托管bean.换句话说,您可以通过EL在JSF页面中使用Spring托管bean.

也可以看看: