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添加到项目的构建路径中。 这可以解决问题。