JSP页面中使用JSTL标签出现没法解析问题解决办法

 
今天创建一个JavaWeb工程测试JNDI数据源链接,在jsp页面中引入了JSLT标签库,代码以下:
1<%@ page language="java"import="java.util.*"pageEncoding="UTF-8"%>
2<%@ taglib uri="http://java.sun.com/jsp/jstl/core"prefix="c"%>
3<%@ taglib uri="http://java.sun.com/jsp/jstl/sql"prefix="sql"%>
4
5<!DOCTYPE HTML>
6<html>
7 <head>
8 <title>JNDI数据源链接测试</title>
9 </head>
10
11 <body>
12<sql:query var="rs"dataSource="jdbc/oracle">
13SELECT * FROM LEAD_OAMS_DBSOURCES
14</sql:query>
15
16<c:forEach var="row"items="${rs.rows}">
17${row.RESOURCEID}---${row.DBSOURCE_NAME}---${row.DBSOURCE_TYPE}<br/>
18</c:forEach>
19 </body>
20</html>
如上,在Jsp中使用了foreach等jstl/core中的语法,结果一运行就报错,报错为:
1org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files
以下图所示:
 
  从错误信息来看是说jsp页面的引入的jstl标签库没法解析,上网找了一下这个错误的缘由,原来是个人web项目中没有jstl标签库的相关jar包形成的,也就是缺乏jstl.jar和 standard.jar这两个jar包才形成这个问题的(这个问题比较郁闷,我觉得MyEclipse会自动导入jstl.jar和 standard.jar这两个jar包)以下图所示:
 
  既然是缺乏了jstl.jar和 standard.jar,那么解决的办法就是手动将jstl.jar和 standard.jar这两个jar包加入到web项目的WEB-INF/lib目录中或者是把jstl.jar、standard.jar复制到tomcat的lib中就能够了,JSTL API 和实现包,在Tomcat下面都有,位于 %TOMCAT_HOME%/webapps/examples/WEB-INF/lib 目录中,以下图所示:
 
  这个目录下只有jstl.jar和standard.jar这两个文件,前者是JSTL规范 API,后者是 JSTL的标准实现。把这两个jar包放到Web工程的WEB-INF/lib目录,以下所示:
 
从新启动tomcat服务器,再次访问使用了JSTL标签库的jsp页面,此次就能够正常使用JSTL标签库中的标签库了,以下图所示:
相关文章
相关标签/搜索