您的位置:首页 > Web前端 > JavaScript

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

2017-04-12 16:08 886 查看
今天建立一个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">
13             SELECT * 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中的语法,结果一运行就报错,报错为:

1 org.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标签库中的标签库了,如下图所示:

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐