Eclipse使用JSTL需要哪些JAR文件才能最终适用于GAE / J?
我一直在尝试的时间超过了我想承认让JSTL在Eclipse下工作(最终在GAE / J下)。 我已经下载了Eclipse,Eclipse的Google App Engine扩展和JSTL( http://download.java.net/maven/1/jstl/jars/ – jstl-1.2.jar在WEB-INF \ lib目录中)。
我的代码和输出一起在下面:
Test Page Test Page
我得到的错误是:
The tag handler class for "c:set" (org.apache.taglibs.standard.tag.rt.core.SetTag) was not found on the Java Build Path test.jsp [my app's path and name] line 8 JSP Problem
从本页的最后一篇文章中我不认为我需要一个standard.jar( http://forums.sun.com/thread.jspa?threadID=701267 ),无论如何我在Oracle上找不到一个download.java.com网站以及jstl jar。
编辑4:现在工作 – 步骤:
1)使用Apache版本
2)实际上在构建路径中包含jar文件(右键单击eclipse项目并点击Properties – > Java Build Path – > Libraries – > Add Class Folder …; war / WEB-INF / lib显然不在默认构建路径)
3)将文件c.tld添加到war / WEB-INF / tld
使您的web.xml看起来像:
JSTLExample index.html http://java.sun.com/jstl/core /WEB-INF/tld/c.tld
测试jsp文件内容:
Test Apache ServiceMix with JSTL This is a testpage.
确保您的web.xml
根声明至少符合Servlet 2.4。
或者,如果您的servletcontainer支持它,则更喜欢2.5:
O如果它支持最新版本3.0
否则一切都将回落到支持最少的modus,而taglib可能会破坏。
还要确保在类路径( /WEB-INF/lib
文件夹等)中没有松散的tld
文件,它们将与JAR文件中的文件冲突。 哦,还要确保你没有在web.xml
手动定义tld,保持干净。
我遇到了同样的问题,我只是将前缀=“c” 放在 taglib定义的末尾
之前:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
后:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
所有警告都从Eclipse中消失。
您只需要在Maven POM中指定此依赖项:
jstl jstl 1.2
在我的代码中,这提供了以下JSP taglib工作所需的一切:
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
据我所知,你需要jstl.jar和standard.jar。 把那些放在WEB-INF / lib下。
将Apache中的taglibs-standard-impl-1.2.5添加到项目的构建路径中。 这可以解决问题。