jsf - Tomahawk 标签中表达式语言函数的问题

标签 jsf function integration jstl tomahawk

我正在使用:

  • Tomcat 6.0
  • Jsf 1.2 - Mojarra 实现
  • 战斧 1.1.9

  • 我导入了标签库
    <%@ 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)
    

    任何提示?谢谢大家的帮助:)

    最佳答案

    我能够在 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.* )。

    然而,有趣的事实是,正如 Bozho 所评论的那样,当使用 Facelets 而不是 JSP 时,它确实可以完美运行。这意味着 Tomcat 和 Glassfish 的 JSP EL 实现都被破坏了。

    我将在这里开始为 Tomcat 6 提交问题 http://tomcat.apache.org/bugreport.html看看 Apache 的人是怎么说的。

    关于jsf - Tomahawk 标签中表达式语言函数的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2093379/

    相关文章:

    javascript - 将事件参数与其他参数一起使用?

    apache-camel - Apache Camel 2.17.3 - 使用 bindy 解码 CSV 流的异常

    c - 使用中点法积分

    java - 无法在 Alfresco 中创建新用户

    java - JSF selectOneMenu : validation of two dropdown menus

    arrays - 从 Bash 函数返回数组

    javascript - 请求完整的响应对象而不是紧凑的响应对象 foursquare field 搜索 api?

    java - 从服务器端调用 javascript 方法

    jsf - 读取后 Primefaces 不会立即关闭 DefaultStreamedContent 流

    javascript - JQuery 原型(prototype)函数