1

Web アプリケーションを 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 は (間違った) EL 実装を JSF に提供していたと思います。

于 2012-06-14T14:28:52.173 に答える