【问题标题】:Getting JSTL to run within Tomcat and Eclipse让 JSTL 在 Tomcat 和 Eclipse 中运行
【发布时间】:2010-12-04 00:33:39
【问题描述】:

我一直试图让它运行,但我做不到。我正在使用 Eclipse Galileo、Tomcat 5.5.23 并且周围有几个 JSTL。我最近的尝试是使用 GlassFish jar 文件“jstl-impl-1.2.jar”。我将它放在 Tomcat 的共享库中,将其作为外部 jar 添加到我的 Eclipse 项目中并导出。

谁能告诉我,在哪个文件夹中加载哪些 jar 以及如何告诉它在 Eclipse 中加载?

【问题讨论】:

    标签: eclipse tomcat glassfish jstl


    【解决方案1】:

    在你的项目中包含jstl非常简单,我要做的是:

    1. 下载 jstl-1.2.jar (JSP 2.1 仅容器,即 Tomcat 6, 否则 jstl-1.1.jar) 从 http://repo1.maven.org/maven2/javax/servlet/jstl/1.2/

      来自http://search.maven.org/#browse|707331597 的接口(javax.servlet.jsp.jstl-api-1.2.1.jar)和来自http://search.maven.org/#browse%7C-1002239589 的实际实现类(javax.servlet.jsp.jstl-1.2.2.jar)。

    2. 复制到项目的WEB-INF/lib目录

    3. 在您的 jsp 中包含以下标签:

    至于 Eclipse,我需要知道您是否使用任何框架插件,我使用 MyEclipse,它会自动为我完成。

    【讨论】:

    • 我不使用任何框架插件;您的解决方案在 Eclipse 中没有显示错误,但在导出、部署和启动后我得到:“java.lang.NoClassDefFoundError: javax/el/ValueExpression”
    • 这可能意味着很多事情 Alex,我将首先从开发环境和生产环境验证 Java 版本是否相同。此外,如果在 tomcat/common/lib 中已经有库。你用的是Tomcat 6吗?尝试将您的 el-api.jar 和 jstl-1.2.jar 从您的项目复制到生产服务器的 --> tomcat/common/lib
    • 我现在明白了:正如您在第一句话中所说,这确实是一个版本问题。使用 tomcat 5.5 你必须使用 1.1 版的 jstl(我从 jakarta taglibs 下载了它)
    • 很高兴有人对此有答案。整天都在寻找遗留组件的这个确切问题!感谢您清理它,伙计们。
    • 下载链接失效。不同版本的JSTL jar下载见此页面stackoverflow.com/tags/jstl/info
    【解决方案2】:

    这里显示了另一种方法https://stackoverflow.com/tags/jstl/info

    总之,从这里下载jstl.jar:

    http://download.java.net/maven/1/jstl/jars/jstl-1.2.jar

    并将其放在您的 WEB-INF/lib 目录中

    并添加行:

    <%@  taglib  prefix="c"   uri="http://java.sun.com/jsp/jstl/core"  %>
    

    在您的 jsp 文件中。

    (别忘了按 F5 并在此之后清理和构建)

    【讨论】:

      猜你喜欢
      • 2015-03-17
      • 1970-01-01
      • 1970-01-01
      • 2011-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      相关资源
      最近更新 更多