2012-10-15 69 views
4

我想了解一下JSF EL解析器。我們可以在一個項目中使用多個EL解析器嗎?比方說,如果我使用Spring的DelegatingVariableResolver,我可以添加其他EL解析器像Seam的SeamELResolver多個EL解析器可以在JSF 2.0中使用嗎?

我的期望是,DelegatingVariableResolver委託另一EL解析器的時候,他翻譯過程中出現錯誤或異常。

+0

外貌的排序方式像也能夠根據該JBoss的社羣[線程](https://community.jboss.org/thread/184555)具有多個EL解析器通過延長[CompositeELResolver](http://docs.oracle.com/javaee/ 6/api/javax/el/CompositeELResolver.html),除非你有相同的暴擊eria認爲原來的OP在定製el解析器遇到麻煩的時候會遇到麻煩。 – Ravi

+2

可能這是helpful.http://techblog.bozho.net/ P = 165 – SRy

+0

@SRy完全正確的。 CycDemo看BalusC回答我的問題:[答案](http://stackoverflow.com/a/10695696/2911357) –

回答

0

的DelegatingVariableResolver被廢棄了,因爲彈簧3.2,則是你可以聲明多個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> 
相關問題