为了尝试使用jstl,我用Maven安装了JSTL1.2库。但是,当我通过以下消息运行jsp页面时,“绝对URI:[http://java.sun.com/jsp/jstl/core]不能在web.xml或与此应用程序一起部署的jar文件中解析”
我已经阅读了这个stackoverflow页面,按照我的要求做了,但它并没有解决我的问题。
HTTP Status 500 – Internal Server Error
Type Exception Report
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 unexpected condition that prevented it from fulfilling the request.
Exception
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:293)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:80)
org.apache.jasper.compiler.TagLibraryInfoImpl.generateTldResourcePath(TagLibraryInfoImpl.java:251)
org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:122)
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:434)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:492)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1448)
org.apache.jasper.compiler.Parser.parse(Parser.java:145)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:244)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:105)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:203)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:374)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:351)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:335)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:601)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:368)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Note The full stack trace of the root cause is available in the server logs.
Apache Tomcat/8.5.16
<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>ch06</groupId>
<artifactId>ch06</artifactId>
<version>0.0.1-SNAPSHOT</version>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
</project>
这是我的web.xml文件中简洁的一部分。
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
</web-app>
这是我的jsp代码,其中包括jstl核心库。
<%@page contentType="text/html" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:import url="/includes/header.html" />
在我将maven repository文件夹中的jstl-1.2.jar复制到WEB-INF/lib文件夹后,它就可以工作了。
问题内容: 这是我的JSP页面的taglib指令: 我收到以下错误: 我已经在 / WEB-INF / lib 文件夹中添加了JAR文件 jstl.jar 和 standard.jar 。 谁能告诉我我在哪里犯错了? __ 问题答案: 看起来您正在使用带有1.1 / 1.2的taglib URI的JSTL 1.0。您有不同版本的JSTL: 1.0 :存在两个JAR文件和。Taglib URI 在路
我在用 嵌入式Jetty 9。 Maven Java 1.7 JSTL 当我在Eclipse中运行应用程序并浏览到包含JSTL标记的网页时,它工作得很好。当我将它捆绑在可执行jar中并从cmd提示符运行时,我得到 我是不是漏掉了一些明显的东西!?
问题内容: 这是我的JSP页面的taglib指令: 我收到以下错误: 我已经在 / WEB-INF / lib 文件夹中添加了JAR文件 jstl.jar 和 standard.jar 。 谁能告诉我我在哪里犯错了? __ 问题答案: 看起来您正在使用带有1.1 / 1.2的taglib URI的JSTL 1.0。您有不同版本的JSTL: 1.0 :存在两个JAR文件和。Taglib URI 在路
第1行和第2行有什么不同吗。jsp文件中的第2行没有给出任何错误,但另一个jsp中的第1行给出了错误 真正的JSTL1.0taglib使用URI http://java.sun.com/JSTL/core。 真正的JSTL 1.1/1.2 taglib使用URI http://java.sun.com/jsp/JSTL/core。 Facelets1.x使用URI http://java.sun.
我一直在寻找解决办法。这是最接近的一次了。所有这些都不起作用。我得到以下例外。我用的是Spring靴。我将它作为Spring boot应用程序运行。不是在Tomcat里面。 这是我的pom。 在我看来,一切都准备就绪。我还是会出错。我看了看那些对专家的依赖。我可以看到
我已经在JSP页面的最顶端包含了以下内容: 我已经将JSTL JAR文件放在了目录中。但是,JSP仍然不能解决taglib。我得到以下错误: 找不到“”的标记库描述符http://java.sun.com/jsp/jstl/core” 我正在使用Eclipse Juno,项目结构如下所示: