Jsp websphere上的jstl el函数错误

Jsp websphere上的jstl el函数错误,jsp,tomcat,jstl,websphere,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="$

我在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的tld中找不到el函数startsWith

el函数是为uri定义的,但它仍然在错误消息中给出了错误的uri。 我更改了uri声明的顺序,但错误消息保持不变

uri在web.xml中正确定义。 上面的代码在tomcat上运行良好,但在WebSphere7.0.0.19上出现错误


知道哪里出了问题吗?

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

uri在web.xml中正确定义

您应该而不是在
web.xml
中定义它们。只要在运行时类路径中有JAR文件就足够了。在这种情况下,您还应该提取JSTL JAR文件,并将其松散内容放在您的webapp的
/WEB-INF


上面的代码在tomcat上运行良好,但在WebSphere7.0.0.19上出现错误

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

另见:
检查以下内容:


他们认为webpshere不允许在web inf中运行jsp

感谢BalusC,我删除了jstl.jar,我的应用程序没有出现。然而,我删除了standard.jar,并且能够提前运行。实际上,我正在将我的应用程序移到websphere 7。获取了一个新错误jsp.error.attribute.invalidPrefix uikit。你知道这个错误吗?
standard.jar
也是JSTL的一部分。JSTL wiki页面中也提到了这一点(如果您读过的话)。至于新的错误,这是无关的。如果您无法根据现有的Google/Stackoverflow资源找出答案,请问一个新问题。即使我删除了这些jar文件,也会出现错误。但是,如果我删除了这些jar文件并在c.tld中定义了startsWith方法,则不会发生错误。请告诉我是否缺少任何内容?如果我删除那些jstl tld文件,我仍然会得到错误