我正在将我们的webapp从JSF1.2升级到JSF2。 我们的VDL是JSP。我们正在使用Richfaces 3.3.3
我有一个使用以下属性的h:selectOneMenu和h:outputText:
converter="SelectObjectConverter"
'faceObjectConverter'在faces-config.xml中定义:
<converter>
<converter-id>SelectObjectConverter</converter-id>
<converter-class>com.vc.mm.utils.jsf.converter.SelectObjectConverter</converter-class>
</converter>
转换器在JSF1.2中按预期工作,但在JSF2 中没有。
以下是错误消息:
exception:org.apache.jasper.el.JspELException:/bla/bla/foobar.jsp(14,1)'SelectObjectConverter'不能强制从类java.lang.String强制接口javax.faces.convert.Converter < / p>
如果我使用这种语法:
<f:converter converterId="SelectObjectConverter"/>
这是工作! 但是,由于我们有很多其他语法的文件,我想找到原因。
faces-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 :(得分:0)
在我们的ear / lib中,有一个jbpm.jar和juel **。jar。
juel.jar是EL的开源实现。删除所有“juel”jar可以解决问题。
我想juel正在向JSF提供(错误的)EL实现。