gpt4 book ai didi

jsp - 在 JSP 中启用 JavaServerPages 标准标记库 (JSTL)

转载 作者:行者123 更新时间:2023-12-04 17:41:44 25 4
gpt4 key购买 nike

我觉得我错过了一些东西 - 从表面上看,JSP 开箱即用,支持标签,如 this question's answer显示(这家伙问了一个纯 jsp 问题并得到了一个涉及标签的答案)。
但是如果我尝试运行给定的代码

<c:out value="${myString}"/>

(当然,之前定义了 myString),jsp 只是将上面的行写入 html。

我是否必须做一些额外的事情才能启用它?

最佳答案

JSTL 支持取决于所使用的服务器/servlet 容器。有些附带 JSTL,有些则没有。这与 JSP/Servlet 版本无关。通常,像 WildFly/Payara/TomEE 这样的普通 JEE 服务器已经提供了开箱即用的 JSTL,但是像 Tomcat/Jetty/Undertow 这样的准系统 servletcontainers 没有。对于它们,您需要自己安装 JSTL。
它实际上非常简单(假设您使用的是 Servlet 2.5 或更新版本):

  • 按照此答案中的说明安装 JSTL:How to install JSTL? The absolute uri: http://java.sun.com/jstl/core cannot be resolved .
  • 按照 this JSTL documentation 在 JSP 顶部声明标签(单击任何标签库以查看声明示例)。对于 JSTL core这是以下内容:
     <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

  • 就这样。如果您(仍然)使用 Servlet 2.4,那么您需要下载 jstl.jar and standard.jar 相反(这是 JSTL 1.1 的一部分)。其余步骤相同(只需放入类路径并在 JSP 顶部声明)。
    您可能会注意到一些糟糕的在线教程会建议提取 JAR 文件并将 web 应用程序的 web.xml 弄乱。与 TLD 声明。你永远不应该这样做,这是一个错误的建议,这是由在 JSTL 1.0 -> JSTL 1.1 步骤期间 taglib URI 的更改引起的。不是在 JSP 中更新 taglib URI,而是决定在 web.xml 中重新定义旧的 taglib URI。它变成了一个神话。
    JSP 本身只附带 <jsp:xxx>标签开箱即用。这些是 不是 JSTL 的一部分。
    也可以看看:
  • What exactly is Java EE?
  • How to install JSTL? The absolute uri: http://java.sun.com/jstl/core cannot be resolved
  • 关于jsp - 在 JSP 中启用 JavaServerPages 标准标记库 (JSTL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2400038/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com