The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved

偶在页面里引入了标签如下:  
  <%@   taglib   prefix="c"   uri="http://java.sun.com/jstl/core"   %>   
  出错提示:  
   
  org.apache.jasper.JasperException:   /index.jsp(0,0)   This   absolute   uri   (http://java.sun.com/jstl/core)   cannot   be   resolved   in   either   web.xml   or   the   jar   files   deployed   with   this   application  
  at   org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:94)  
  at   org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:428)  
  at   org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:126)  
  at   org.apache.jasper.compiler.Parser.processIncludeDirective(Parser.java:307)  
  at   org.apache.jasper.compiler.Parser.parseIncludeDirective(Parser.java:340)  
  at   org.apache.jasper.compiler.Parser.parseDirective(Parser.java:378)  
  at   org.apache.jasper.compiler.Parser.parseElements(Parser.java:795)  
  at   org.apache.jasper.compiler.Parser.parse(Parser.java:122)  
  at   org.apache.jasper.compiler.ParserController.parse(ParserController.java:199)  
  at   org.apache.jasper.compiler.ParserController.parse(ParserController.java:153)  
  at   org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:227)  
  at   org.apache.jasper.compiler.Compiler.compile(Compiler.java:369)  
  at   org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:473)  
  at   org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:190)  
  at   org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)  
  at   org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)  
  at   javax.servlet.http.HttpServlet.service(HttpServlet.java:853)   
   

我认为,jsp页面的taglib指令用uri属性指明tld文件位置,当jsp页面被请求时,服务器会企图通过uri指示的位置读取tld文件。  
   
  出现楼主所述错误有两个可能的原因:  
      1、uri指示的位置不存在tld文件。  
      2、由于网络故障,无法访问uri指定的位置。  
   
  如果taglib指令的uri指向internet上某个位置,比如“http://java.sun.com/jstl/core”,就容易遇到上述问题,

 

为避免这样的问题,我的做法是:  

在 http://jakarta.apache.org/site/downloads/downloads_taglibs-standard.cgi下载实现好的JSTL1.1   将lib中的jstl.jar standard.jar复制到tomcat的web-inf/lib中(在tomcat6 webapps/examples/WEB-INF/lib 中也有这两个jar包。)除了复制.jar文件外,最好也把tld文件的目录也复制到WEB-INF中,以便日后使用。

 

 

下面这个方法在网上找到的 没有试过


    首先,把tld文件拷贝到自己的web应用中,如拷贝到/WEB-INF/taglibs下面。  
    然后,在web.inf中加上类似这样的内容:  
             
                jsf_core  
                /WEB-INF/taglibs/c.tld  
           
 
    页面的taglib指令写成这个样子:  
          <%@   taglib   uri="jsf_core"   prefix="c"   %>

 

 

你可能感兴趣的:(The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved)