• JSP页面EL表达式无效的问题


    遇上了解析不到EL表达式的问题。经过好几个小时的琢磨终于发现了,给大家share一下: 
    问题就出在建Web Project的时候web.xml声明上。 
    web.xml声明部分一般分为如下版本的xsd, 
    web-app_2_2.xsd 
    web-app_2_3.xsd 
    web-app_2_4.xsd 
    web-app_2_5.xsd 

    更详细的列出各版本web.xml声明部分吧,如下: 
    web-app_2_2.xsd 

    Java代码 
    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/dtd/web-app_2_2.dtd">  


    web-app_2_3.xsd 

    Java代码  
    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">  


    web-app_2_4.xsd 

    Java代码  
    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <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">  


    web-app_2_5.xsd 

    Java代码  
    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  



    确定web.xml里的xsd版本之后一定要在JSP的声明(<%@page %>)部分加一行,如下: 
    <%@ page isELIgnored="false" %> 
    这样设为false才能解析EL表达式。 
    经过各版本的test之后.... 
    注意!! 其中servlets 2.4(我没记错的话JSP 2.0出来之后的第一个版本),这个版本的isELIgnored默认设置为false。所以使用web.xml里用web-app_2_4.xsd声明的时候在JSP页面不用特意声明。 

    下面是官方Documention中isELIgnored Attribute的详解: 
    The isELIgnored Attribute 
    • Format 
    – <%@ page isELIgnored="false" %> 
    – <%@ page isELIgnored="true" %> 
    Purpose 
    – To control whether the JSP 2.0 Expression Language 
    (EL) is ignored (true) or evaluated normally (false). 
    • Notes 
    – If your web.xml specifies servlets 2.3 (corresponding to 
    JSP 1.2) or earlier, the default is true 
    • But it is still legal to change the default—you are permitted 
    to use this attribute in a JSP-2.0-compliant server 
    regardless of the web.xml version. 
    – If your web.xml specifies servlets 2.4 (corresponding to 
    JSP 2.0) or earlier, the default is false

  • 相关阅读:
    Entity Framework 学习中级篇2—存储过程(上)(转)
    PB TreeView 属性,事件详解(转)
    java面试宝典
    Entity Framework 学习初级篇5ObjectQuery查询及方法(转)
    关于安卓中国移动定制机GPS定位问题解决办法
    Asp.net中优化页面小技巧—让搜索引擎更容易找到你的页面!
    服务器SQl2000和SQl2005版本不同带来一系列问题解决方案
    Asp.net中小技巧—服务器端Web控件与客户端Html控件交互
    Asp.net中利用ExecuteNonQuery()执行存储过程返回1解决方案
    Asp.net中DropDownlist中无法触发后台事件解决方案
  • 原文地址:https://www.cnblogs.com/diyingyun/p/2992363.html
Copyright © 2020-2023  润新知