websphere上的jstl el函数错误

时间:2011-09-26 15:47:38

标签: 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

在tld中找到el函数startsWith

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

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

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

2 个答案:

答案 0 :(得分:1)

我不确定问题的真正原因。但是,以下陈述表明某些事情并非完全正确:

  

uri已在web.xml中正确定义。

您应该 web.xml中定义它们。在运行时类路径中使用JAR文件应该足够了。如果您还应该提取JSTL JAR文件并将其松散的内容放在您的webapp /WEB-INF中。


  

上面的代码在tomcat上完全正常,但在Websphere 7.0.0.19上出错。

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

另见:

答案 1 :(得分:0)