龑凯

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 

当我在页面中进行调用的时候发现一直都报空指针异常,然后通过各种实验发现:web.xml文件当版本为2.5的时候需要在jsp页面中添加isELIgnored=”false”代码。

 

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" isELIgnored="false"%>


那么为什么会导致这个代码出现,是因为jsp2.0的出现导致了这个问题?因为jsp2.0的出现,Jsp 2.0的一个主要特点是它支持表达语言。


 

现在就总结一下各个Servlet版本对Jstl标签的支持情况:

 


JSTL目前有3个版本:JSTL1.0、JSTL1.1、JSTL1.2

JSTL1.0和JSTL1.1包含jstl.jar和standard.jar,这2个jar包,在j2ee4的版本中是需要单独引用这2个jar包的。JSTL1.2在J2EE5里的jar包是jstl-1.2.jar,在J2EE6里是jstl-imp.jar。


各版本的区别:JSTL1.0(不支持EL)、JSTL 1.1和JSTL 1.2支持的servlet和jsp规范也不同:web.xml中要申明相应的servlet版本:
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">

 


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

 


各版本的使用方法:

STL1.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表达式的支持:

默认开启支持EL表达式支持有:

1、servlet2.4

2、J2EE6

默认不支持EL表达式需要进行如下2种配置中的其一来开启EL:

1、在JSP中加入:

<%@ page isELIgnored="false"%>

 

2、在web.xm中加入:

<jsp-config>     
    <jsp-property-group>     
        <url-pattern>*.jsp</url-pattern>     
        <el-ignored>false</el-ignored>     
    </jsp-property-group>     
</jsp-config>
posted on 2021-01-02 17:29  龑凯  阅读(119)  评论(0编辑  收藏  举报