1

我正在将我们的 webapp 从 JSF1.2 升级到 JSF2。我们的 VDL 是 JSP。我们正在使用 Richfaces 3.3.3

我有 ah:selectOneMenu 和 h:outputText 使用以下属性:

converter="SelectObjectConverter"

“SelectObjectConverter”在 faces-config.xml 中定义:

<converter>
  <converter-id>SelectObjectConverter</converter-id>
  <converter-class>com.vc.mm.utils.jsf.converter.SelectObjectConverter</converter-class>
</converter>

该转换器在 JSF1.2 中按预期工作,但在 JSF2 中却没有

这是错误消息:

异常:org.apache.jasper.el.JspELException:/bla/bla/foobar.jsp (14,1) 'SelectObjectConverter' 无法从类 java.lang.String 强制转换为接口 javax.faces.convert.Converter

如果我使用这种语法:

<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">
4

1 回答 1

0

在我们的 ear/lib 中,有一个 jbpm.jar 和 juel**.jar。

juel.jar 是 EL 的开源实现。删除所有“juel”罐子解决了这个问题。

我猜 juel 正在向 JSF 提供(错误的)EL 实现。

于 2012-06-14T14:28:52.173 回答