jsp - websphere上的jSTL el函数错误

标签 jsp tomcat jstl websphere

我在 jspx 文件中使用 JSTL 进行类似的条件检查

<jsp:root version="2.0" 
    xmlns:jsp="http://java.sun.com/JSP/Page"
    xmlns:c="http://java.sun.com/jsp/jstl/core"
    xmlns:fn="http://java.sun.com/jsp/jstl/functions">  

    <c:choose>
    <c:when test="${fn:startsWith(check.defApplication, 'Mail')}">
    <c:set var="mySet" value="messages"/>
    </c:when>
    <c:otherwise>
    <c:set var="mySet" value="messagesagain"/>
    </c:otherwise>
    </c:choose>

但是它抛出错误

无法在 uri 为 http://java.sun.com/jsp/jstl/core 的顶级域名中定位 el 函数 startsWith

el函数是为uri http://java.sun.com/jsp/jstl/functions定义的但它仍然在错误消息中给出了错误的 uri。 我更改了 uri 声明中的顺序,但错误消息保持不变。

uri 已在 web.xml 中正确定义。 上面的代码在 tomcat 上运行良好,但在 Websphere 7.0.0.19 上出错。

知道可能出了什么问题吗?

最佳答案

我不确定问题的真正原因。然而,以下陈述表明有些事情并不完全正确:

The uri is properly defined in web.xml.

您应该在您的web.xml 中定义它们。只需将 JAR 文件放在运行时类路径中就足够了。以防万一,您还应该提取 JSTL JAR 文件并将其松散内容放在您的网络应用程序的 /WEB-INF 中。


The above code works perfectly fine on tomcat, but gives error on Websphere 7.0.0.19.

Websphere 附带了自己的 JSTL 库。此冲突表明您已将 JSTL JAR 文件删除到 webapp 的 /WEB-INF/lib 中。你想删除它们并将它们放在 Tomcat 自己的 /lib 文件夹中。

另见:

关于jsp - websphere上的jSTL el函数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7557713/

相关文章:

jsp - 如何本地化 Java 中的数字系统,例如印地语还是马拉地语?

java - 如何从JSP文件中的对象中提取每个字段?

java - 在 tomcat 上部署 grails 应用程序时创建名称为 'transactionManagerPostProcessor' 的 bean 时出错

java - Tomcat 耗尽虚拟机内存

java - 输出JSTL转义?

jsf - c :set for bean properties

java - JSP在哪里初始化?

tomcat - 为在 tomcat 中运行的 grails 应用程序动态重新加载 log4j.properties

java - 使用 JSTL 以嵌套方式设置 JSP 属性?

Eclipse - 动态 Web 项目未拾取 jsp 中的更改或