4

私が使用しているもの:

  • Tomcat 6.0
  • Jsf1.2-Mojarraの実装
  • トマホーク1.1.9

taglibをインポートしました

<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>

私が電話するとき:

<h:outputText value="#{fn:indexOf('ciao','i')}"></h:outputText>

出力は1です

私が使うとき

<t:outputText value="#{fn:indexOf('ciao','i')}"></t:outputText>

正しいライブラリを参照する際に問題が発生するなど、サーバー例外がスローされます。

javax.el.ELException: Function 'fn:indexOf' not found
    at org.apache.el.lang.ExpressionBuilder.visit(ExpressionBuilder.java:171)
    at org.apache.el.parser.SimpleNode.accept(SimpleNode.java:145)
    at org.apache.el.lang.ExpressionBuilder.prepare(ExpressionBuilder.java:133)
    at org.apache.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:147)

ヒントはありますか?みんな助けてくれてありがとう:)

4

1 に答える 1

1

Tomcat 6.0.18 上の Mojarra 1.2_14 と Tomahawk 1.1.9 でこの問題を正確に再現できました。Tomcat 6.0.20 でも同じ問題が発生しましたがorg.apache.el.*、スタック トレース内のメソッドの行番号はわずかに異なります。

Tomcat をjsp-el疑わしいものから除外するために、別の EL impl を使用している Glassfish v3 でもテストしました。スタックトレースのELクラスが異なりますが、基本的に同じ例外が発生しました(com.sun.el.*の代わりにorg.apache.el.*)。

しかし興味深い事実は、Bozho がコメントしたように、JSP の代わりに Facelets を使用すると、実際に問題なく動作することです。これは、Tomcat と Glassfish の両方の JSP EL 実装が壊れていることを意味します。

ここで Tomcat 6 の問題を報告し始めますhttp://tomcat.apache.org/bugreport.html Apache 関係者がこれについて何と言っているかを確認します。

于 2010-01-22T12:18:44.513 に答える