我正在使用:
我导入了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)
任何提示?谢谢大家的帮助:))
答案 0 :(得分:1)
我能够在Tomcat 6.0.18上使用Mojarra 1.2_14和Tomahawk 1.1.9重现完全这个问题。 Tomcat 6.0.20也出现了同样的问题,尽管堆栈跟踪中org.apache.el.*
方法的行号略有不同。
为了排除Tomcat的jsp-el
被怀疑,我也在Glassfish v3进行了测试,它使用了不同的EL impl。它产生了基本相同的异常,尽管在堆栈跟踪中使用了不同的EL类(com.sun.el.*
而不是org.apache.el.*
)。
我会在这里http://tomcat.apache.org/bugreport.html开始为Tomcat 6提交一个问题,看看Apache的人对此有何看法。