2012-05-25 68 views
1

我升級我們的web應用從JSF1.2到JSF2。 我們的VDL是JSP。我們正在使用的RichFaces 3.3.3JSF2:轉換器屬性未找到:

我有啊:selectOneMenu用於和h:的outputText使用以下屬性:

converter="SelectObjectConverter" 

的 'SelectObjectConverter' 在faces-config.xml中定義:

如預期在JSF1.2而不是在JSF2
<converter> 
    <converter-id>SelectObjectConverter</converter-id> 
    <converter-class>com.vc.mm.utils.jsf.converter.SelectObjectConverter</converter-class> 
</converter> 

轉換器的工作原理。

以下是錯誤消息:

例外:org.apache.jasper.el.JspELException:/bla/bla/foobar.jsp(14,1) 'SelectObjectConverter' 無法從級Java要挾。 lang.String接口javax.faces.convert.Converter接口

如果我用這個語法:

<f:converter converterId="SelectObjectConverter"/> 

它的工作! 但是,由於我們有很多文件與其他語法,我想找到原因。

的面孔-config文件頭已更新爲:

<faces-config 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd" 
    version="2.0"> 
+0

奇怪。如果在轉換器類中用'@FacesConverter(「SelectObjectConverter」)'註釋替換'faces-config-xml'中的''條目? – BalusC

+0

@BalusC,同樣的錯誤:( – viragegroup

+0

什麼JSF IMPL /版本究竟是什麼?servletcontainer IMPL /版本到底是什麼? – BalusC

回答

0

在我們的耳朵/ lib中,有一個jbpm.jar和JUEL **罐子。

juel.jar是EL的開源實現。刪除所有「juel」罐子解決了這個問題。

我猜JUEL是提供(錯誤)EL實施JSF。