我正在尝试在Tomcat 5.5中正常运行的Jetty中运行应用程序。该应用程序使用Servlet 2.4和JSP 2.0。
Jetty/Jasper抛出此异常:
org.apache.jasper.JasperException: /WEB-INF/tiles/layout/main.jsp(85,55) PWC6340: According to the TLD, rtexprvalue is true, and deferred-value is specified for the attribute items of the tag handler org.apache.taglibs.standard.tag.rt.core.ForTokensTag, but the argument for the setter method is not a java.lang.Object
奇怪的是,我在任何地方都找不到TLD。我似乎不明白这是通过魔术获得的。是否有可能得到了错误的TLD?
从哪里加载org.apache.taglibs.standard.tag.rt.core.ForTokensTag也很难说清楚。 Eclipse在项目的加载路径中找不到它。
任何提示欢迎...
最佳答案
Jetty包括他们自己的JSTL库,不需要包括jakrta taglib的标准 jar 和核心 jar 。
如果确实将jakartat taglib的jars放入Web应用程序中,则forTokens标记中会发生冲突,导致此错误,而其他标记则可以正常工作。我建议要么从您的Web应用程序中删除jakarta taglib实现,然后依赖Jetty,要么停止使用forTokens。
关于jSTL - Jetty 6中的Jasper抛出JSTL标签异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/595320/