可以在JSF 2.0中使用多个EL解析器吗?

时间:2012-10-15 04:56:09

标签: java jsf-2 el

我想知道JSF中的EL解析器。我们可以在项目中使用多个EL解析器吗?让我们说,如果我使用Spring的DelegatingVariableResolver,我可以添加另一个EL解析器,如Seam的SeamELResolver吗?

我的期望是,DelegatingVariableResolver在翻译过程中遇到错误或异常时委托另一个EL解析器。

1 个答案:

答案 0 :(得分:0)

从Spring 3.2开始,不推荐使用DelegatingVariableResolver,然后是的,你可以将多个ElResolver声明为:

<application>
    <el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver>     
    <el-resolver>com.agitech.erp.bean.BeanResolver</el-resolver>    
  <locale-config>
   <default-locale>fr</default-locale>
  </locale-config>
 </application>
public class BeanResolver extends javax.el.ELResolver {
........
}

如果您使用MyFaces,您可以选择使用

订购自定义解析器的方式
<context-param>
    <param-name>org.apache.myfaces.EL_RESOLVER_COMPARATOR</param-name>
    <param-value>org.apache.myfaces.el.unified.CustomLastELResolverComparator</param-value>
</context-param>