JSTL.JAR无法解析

时间:2014-04-22 05:43:12

标签: java jsp spring-mvc

在我的spring mvc app中使用jstl时出现以下错误。

> 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

我已将jstl-api-1.2.jar下载并复制到WebContent/WEB-INF/lib/目录中与其他库相同的位置。

我的web.xml文件如下所示。

    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xmlns="http://java.sun.com/xml/ns/javaee"
            xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
            xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
            id="WebApp_ID" version="2.5">
            <display-name>Spring3MVC</display-name>
            <welcome-file-list>
                    <welcome-file>index.jsp</welcome-file>
            </welcome-file-list>


            <servlet>
                    <servlet-name>spring</servlet-name>
                    <servlet-class>
                            org.springframework.web.servlet.DispatcherServlet
                    </servlet-class>
                    <load-on-startup>1</load-on-startup>
            </servlet>
            <servlet-mapping>
                    <servlet-name>spring</servlet-name>
                    <url-pattern>*.html</url-pattern>
            </servlet-mapping>
    </web-app>

我的spring-servlet.xml文件如下所示

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:p="http://www.springframework.org/schema/p"
        xmlns:context="http://www.springframework.org/schema/context"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
                http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
                http://www.springframework.org/schema/context
                http://www.springframework.org/schema/context/spring-context-3.0.xsd">


        <context:component-scan
                base-package="net.viralpatel.spring3.controller" />

        <bean id="viewResolver"
                class="org.springframework.web.servlet.view.UrlBasedViewResolver">
                <property name="viewClass"
                        value="org.springframework.web.servlet.view.JstlView" />
                <property name="prefix" value="/WEB-INF/jsp/" />
                <property name="suffix" value=".jsp" />
        </bean>
</beans>

和我使用标签的JSP文件的标题设置如下。

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

我可以确认我已将jstl-api-1.2.jar正确放在lib目录下。请帮我解决这个问题。

修改

我的LIB路径

[muneer@maxhost Spring3MVC]$ ls WebContent/WEB-INF/lib/
commons-logging.jar                              org.springframework.core-3.0.1.RELEASE-A.jar
jstl-api-1.2.jar                                 org.springframework.expression-3.0.1.RELEASE-A.jar
org.springframework.asm-3.0.1.RELEASE-A.jar      org.springframework.web-3.0.1.RELEASE-A.jar
org.springframework.beans-3.0.1.RELEASE-A.jar    org.springframework.web.servlet-3.0.1.RELEASE-A.jar
org.springframework.context-3.0.1.RELEASE-A.jar

以下但被删除了,我之前错误地将其包含在我的web.xml中。

        <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>jstl</artifactId>
          <version>1.2.1</version>
          <scope>provided</scope>
        </dependency>

2 个答案:

答案 0 :(得分:0)

你在项目中使用Maven吗?

小观察,

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2.1</version>
<scope>provided</scope>

不应该在web.xml中,它是maven POM的依赖管理结构[DTD定义]

答案 1 :(得分:0)

你不能在web.xml中编写依赖标记,它是pom.xml的一部分。如果您不使用maven,请确保已在 java构建路径 lib 文件夹中添加该jar。