我在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函数startsWithel函数是为uri http://java.sun.com/jsp/jstl/functions定义的,但它仍然在错误消息中给出了错误的uri。 我更改了uri声明中的顺序,但错误消息保持不变。
uri在web.xml中正确定义。 上面的代码在tomcat上运行得很好,但在Websphere 7.0.0.19上出错。
知道可能出现什么问题吗?
答案 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)
他们认为websphere不允许在web-inf中运行jsp