2015-06-24 6 views
0

У меня возникли проблемы, когда я включаю taglib в свой jsp. Когда я запускаю tomcat, он вызывает ошибки со следующим сообщением.Почему я не могу использовать core taglib в моем jsp?

Конкретная линия, которая делает его идти работать, чтобы не работать это

<%@ 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 -> Download Sources. Кажется, сделал трюк. – James