2015-06-24 68 views
0

當我將taglib包含在我的jsp中時遇到了問題。當我啓動tomcat時,出現以下錯誤報告。爲什麼我不能在我的jsp中使用核心taglib?

的特定線,使得它的工作,不工作去爲這個

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 

完整代碼包含下面。

我知道有很多類似的問題,但是我發現的所有問題都已通過將jstl依賴項添加到pom文件中解決。我已經這樣做了,但仍然面臨同樣的問題。

的index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" 
    pageEncoding="UTF-8"%> 
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<!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>Insert title here</title> 
</head> 
<body> 
<h1>Testing</h1> 
<c:redirect url="/home.jsp" /> 
</body> 
</html> 

的pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>Testing</groupId> 
    <artifactId>Testing</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>war</packaging> 
    <name>AlphaProject</name> 
    <description>Test run anything tricky here before applying to main project</description> 
    <build> 
     <sourceDirectory>src</sourceDirectory> 
     <plugins> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.3</version> 
       <configuration> 
        <source>1.8</source> 
        <target>1.8</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <artifactId>maven-war-plugin</artifactId> 
       <version>2.6</version> 
       <configuration> 
        <warSourceDirectory>WebContent</warSourceDirectory> 
        <failOnMissingWebXml>false</failOnMissingWebXml> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
    <dependencies> 
     <dependency> 
      <groupId>jstl</groupId> 
      <artifactId>jstl</artifactId> 
      <version>1.2</version> 
     </dependency> 
    </dependencies> 
</project> 

輸出

Message: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application 

Description: The server encountered an internal error that prevented it from fulfilling this request. 

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 deployed with this application 
    org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:55) 
    org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:277) 
    org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:75) 
    org.apache.jasper.compiler.TagLibraryInfoImpl.generateTldResourcePath(TagLibraryInfoImpl.java:243) 
    org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:124) 
    org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:411) 
    org.apache.jasper.compiler.Parser.parseDirective(Parser.java:469) 
    org.apache.jasper.compiler.Parser.parseElements(Parser.java:1430) 
    org.apache.jasper.compiler.Parser.parse(Parser.java:139) 
    org.apache.jasper.compiler.ParserController.doParse(ParserController.java:227) 
    org.apache.jasper.compiler.ParserController.parse(ParserController.java:100) 
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:199) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:356) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:336) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:323) 
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:580) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:356) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
+0

檢查第一個答案在這裏 - http://stackoverflow.com/questions/4928271/jstl-1-2-the-absolute-uri-http-java-sun-com-jstl-core-cannot-be-resolved tell如果它有幫助.. –

回答

1

嘗試增加以下Maven依賴於你的pom.xml

<!-- standard.jar --> 
<dependency> 
    <groupId>taglibs</groupId> 
    <artifactId>standard</artifactId> 
    <version>1.1.2</version> 
</dependency> 

<!-- JSTL --> 
<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>jstl</artifactId> 
    <version>1.1.2</version> 
</dependency> 
+0

我以前添加過這些。但添加這些後,我做了一個右鍵單擊 - > Maven - >下載源。似乎已經完成了這個訣竅。 – James

相關問題