当前位置 : 主页 > 编程语言 > java >

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

来源:互联网 收集:自由互联 发布时间:2021-06-25
我觉得我错过了一些东西 – 从看起来似乎,JSP开箱即用,支持标签,正如 this question’s answer所示(那家伙正在问一个纯粹的jsp问题并得到一个涉及标签的答案). 但是,如果我尝试运行给定的
我觉得我错过了一些东西 – 从看起来似乎,JSP开箱即用,支持标签,正如 this question’s answer所示(那家伙正在问一个纯粹的jsp问题并得到一个涉及标签的答案).
但是,如果我尝试运行给定的代码

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

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

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

JSTL支持取决于所使用的appserver / servletcontainer.有些船用JSTL,有些则没用.这与JSP / Servlet版本无关.例如,Sun Glassfish(作为一个完整的Java EE实现)随附JSTL,例如Apache Tomcat(作为一个简单的JSP / Servlet实现)没有.对于他们,您需要自己安装JSTL.

它实际上非常简单(假设您使用的是Servlet 2.5或更新版本):

>下载jstl-1.2.jar.
>将其复制/复制到webapp的/ WEB-INF / lib文件夹(这是webapp的默认类路径的一部分).
>根据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文件并使用TLD声明来混淆webapp的web.xml.你永远不应该这样做,这是一个错误的建议,这是由JSTL 1.0期间taglib URI的变化引起的 – > JSTL 1.1步骤.不是在JSP中更新taglib URI,而是决定在web.xml中重新定义旧的taglib URI,这成了一个神话.

JSP本身只附带< jsp:xxx>开箱即用的标签.你可以在this document找到它们(这确实很旧,但是在当前的JSP 2.2中没有改变).

网友评论