zoukankan      html  css  js  c++  java
  • Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/core"

    问题描述

    今天写jsp的时候想用JSTL的一些标签,但是引用的时候碰到这个问题。

    解决办法

    一.看是否引用jstl.jar包,如果没有,则可以下载相应版本的jstr.jar包,并放入WEB-INF的lib文件夹下

        

    二.应该下载什么版本的jstl包?

    (一)JSTL各版本下载

    (1)JSTL1.0(包含2个jar文件:jstl.jar和standard.jar。这两个jar文件都存在于Standard1.0.x的发布版本中。)

    下载地址:http://archive.apache.org/dist/jakarta/taglibs/standard-1.0/binaries/

    最新版本是:jakarta-taglibs-standard-1.0.3.zip。解压后从lib文件夹中找到这个两个jar包

    (2)JSTL1.1(也包含2个jar文件:jstl.jar和standard.jar。这两个jar文件都存在于Standard1.1.x的发布版本中。)

    下载地址:http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/

    最新版本是:jakarta-taglibs-standard-1.1.2.zip。解压后从lib文件夹中找到这个两个jar包

    (3)JSTL1.2(只包含1个jar文件:jstl-1.2.jar)

        -- JSTL 1.2 is part of the Java EE 5 platform.

    下载地址:http://jstl.java.net/

    (二)JSTL各版本差异

    1. JSTL1.0(不支持EL)、JSTL 1.1和JSTL 1.2支持的servlet,jsp规范都不相同,支持相应规范的tomcat的版本也有要求的。具体如下。

     web.xml中要申明相应的servlet版本。

    web.xml的位置:

    JSTL1.2需要servlet2.5

    <web-app xmlns="http://java.sun.com/xml/ns/javaee"

    version="2.5"

    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_2_5.xsd">

     

    JSTL1.1和JSP2.0需要servlet2.4

    <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4 " xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4 .xsd">

     

    JSTL1.0和JSP1.2需要servlet2.3

    <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.3 " xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_3 .xsd">

     

    2. JSTL1.0和JSTL1.1的uri是不一样的,但是他们的tld文件同时存在于同一个standard.jar中。解压缩下载的standard.jar,你会在/META-INF/下发现有一个c-1_0.tld,还有一个c.tld。其中c-1_0.tld是JSTL1.0的core标签库的tld文件,c.tld是JSTL1.1的core标签库的tld文件。JSTL1.1与JSTL1.2的uri是一样的。

     JSTL1.0的使用方法为:

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

    JSTL1.1的使用方法为:

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

    JSTL1.2的使用方法为

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

     

    开启EL:只有 servlet2.4 是默认支持 el表达式的。

    其他的都要 JSP页面开头加入: <%@ page isELIgnored="false"%>servlet2.5默认是禁用el的,所以会出现${}现象,加入上述代码开启EL

      

    参考文档

      http://janedoneway.iteye.com/blog/1245949

  • 相关阅读:
    Android App内存优化之图片优化
    APP中的存储路径
    为什么源码中很多方法就一行throw new RuntimeException("Stub!")
    Android运行时Crash自动恢复框架-Recovery
    Android图片压缩框架-Tiny 集成
    防止APP退到被安卓系统清理
    Android开发中,那些让你觉得相见恨晚的方法、类或接口
    安卓设置沉浸式状态栏
    Euler Sums系列(四)
    一个含有Fibonacci Number的级数
  • 原文地址:https://www.cnblogs.com/gudi/p/6870346.html
Copyright © 2011-2022 走看看