我觉得我错过了一些东西 - 从看起来似乎,JSP开箱即用,支持标签,因为这个问题的答案显示(那家伙问的是一个纯粹的jsp问题,得到了一个涉及标签的答案).但是,如果我尝试运行给定的代码
<c:out value="${myString}"/>
Run Code Online (Sandbox Code Playgroud)
(myString
当然,在定义之前),jsp只是将上面的行写入html.
我是否必须做一些额外的事情来启用它?
JSTL支持取决于所使用的appserver/servletcontainer.有些船用JSTL,有些则没用.这与JSP/Servlet版本无关.例如,Sun Glassfish(作为一个完整的 Java EE实现)随附JSTL,例如Apache Tomcat(作为一个简单的 JSP/Servlet实现)没有.对他们来说,你需要自己安装JSTL.
它实际上非常简单(假设您正在使用Servlet 2.5或更新版本):
/WEB-INF/lib
文件夹(这是webapp的默认类路径的一部分).根据此JSTL文档在JSP顶部声明标记(单击任何标记库以查看声明示例).对于JSTL核心,它是以下内容:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Run Code Online (Sandbox Code Playgroud)就这样.如果你(仍然)在Servlet 2.4上,那么你需要下载jstl.jar
而 standard.jar
不是(它是JSTL 1.1的一部分).这些步骤的残余是相同的(只是放在类路径中并在JSP的顶部声明).
您可能会注意到一些糟糕的在线教程会建议提取JAR文件并web.xml
使用TLD声明来混淆webapp .你永远不应该这样做,这是一个错误的建议,这是由于在JSTL 1.0 - > JSTL 1.1步骤中taglib URI的变化引起的.不是在JSP中更新taglib URI,而是决定重新定义旧的taglib URI web.xml
,它变成了一个神话.
JSP本身只附带<jsp:xxx>
开箱即用的标签.您可以在本文档中找到它们(这确实非常古老,但在当前的JSP 2.2中没有改变).
归档时间: |
|
查看次数: |
4713 次 |
最近记录: |