【发布时间】:2017-02-18 14:34:11
【问题描述】:
我是新手,刚开始学习 Java。从jstl标签中,我对jstl了解了很多。
我使用IDE(eclispe mars)通过添加一个简单的jsp页面来创建一个动态的web项目,然后将war导出到tomcat7的webapps文件夹中。我对jstl强制jar的依赖做了一些测试。
我的核心项目文件是:
web.xml:
<web-app xmlns:xsi="http:....... version="3.0"> //use servlet 3.0
index.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>jstl Tag Lib</title>
</head>
<body>
<h2>2+2=${2+2}</h2> //this line works, el is a part of jsp.
//below lines work fine if there are proper jstl jars.
<c:set var="salary" scope="session" value="${2000*2}" />
salary:<c:out value="${salary}" />
</body>
</html>
在 WEB-INF/lib/ 文件夹中,我有 3 种罐子,所有 3 组都可以正常工作。
1) 只包含:
jstl-1.2.jar
什么组织提供它?阿帕奇雄猫?
2) 只包含:
javax.servlet.jsp.jstl-api-1.2.1.jar
javax.servlet.jsp.jstl-1.2.4.jar
在这里,我有一个问题:这两个罐子有什么区别?
3) 只包含:
taglibs-standard-impl-1.2.5.jar
taglibs-standard-compat-1.2.5.jar
taglibs-standard-jstlel-1.2.5.jar
taglibs-standard-spec-1.2.5.jar
鞋罐从http://tomcat.apache.org/download-taglibs.cgi下载 在这里,我有一个问题:三个罐子有什么区别? 因为不知道有什么区别,所以把三个jar放到lib文件夹下,但是运行时发现taglibs-standard-impl.*.jar是强制的。
【问题讨论】:
-
谢谢,我访问过的两个链接,我认为这两个链接不能很清楚地解释差异。 jstl标签页面非常清晰。没有人说 jstl-impl.jar=== jstl.jar。根据我在 Java 方面的短暂经验,如果我区别对待它们,我会从中受益。