zoukankan      html  css  js  c++  java
  • JSP页面不支持EL表达式的解决方法

    JSP页面不支持EL表达式的问题就出在新建项目时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-app_2_2.xsd:

    <?xml version="1.0" encoding="UTF-8"?>  
    <!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:

    <?xml version="1.0" encoding="UTF-8"?>  
    <!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:

    <?xml version="1.0" encoding="UTF-8"?>  
    <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:

    <?xml version="1.0" encoding="UTF-8"?>  
    <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的详解: 

    文章转自:http://www.iteye.com/topic/155354

    经过测试,以上修改web.xml头为2.4的方式在Eclipse中用tomcat插件运行并不生效,而打包成war包部署到tomcat中是可行的,而在每个页面上增加page属性开启el表达式支持对于两种部署都可行。

    下面这种方式是直接web.xml中增加对每个页面开启el表达式,配置如下(同样,在Eclipse的tomcat插件中是不可行的,部署到Tomcat中是可行的):

    <jsp-config>  
      <jsp-property-group>  
        <url-pattern>*.jsp</url-pattern>  
        <el-ignored>false</el-ignored>  
      </jsp-property-group>  
    </jsp-config>  

    详细配置:

        <jsp-config>  
            <jsp-property-group>  
                <description>指定JSP文件的配置属性</description>  
                <display-name>jspConfiguration</display-name>  
                <url-pattern>*.jsp</url-pattern>  
                <el-ignored>false</el-ignored>  
                <page-encoding>utf-8</page-encoding>  
                <scripting-invalid>false</scripting-invalid>  
                <include-prelude></include-prelude>  
                <include-coda></include-coda>  
            </jsp-property-group>  
            <jsp-property-group>  
                <description>指定htm文件的配置属性</description>  
                <display-name>jspConfiguration</display-name>  
                <url-pattern>*.htm</url-pattern>  
                <el-ignored>false</el-ignored>  
                <page-encoding>utf-8</page-encoding>  
                <scripting-invalid>false</scripting-invalid>  
                <include-prelude></include-prelude>  
                <include-coda></include-coda>  
            </jsp-property-group>  
            <jsp-property-group>  
                <description>指定html文件的配置属性</description>  
                <display-name>jspConfiguration</display-name>  
                <url-pattern>*.html</url-pattern>  
                <el-ignored>false</el-ignored>  
                <page-encoding>utf-8</page-encoding>  
                <scripting-invalid>false</scripting-invalid>  
                <include-prelude></include-prelude>  
                <include-coda></include-coda>  
            </jsp-property-group>  
        </jsp-config> 

    属性说明:

    <description>:设定的说明 
    <display-name>:设定名称 
    <url-pattern>:设定值所影响的范围,如:/CH2或/*.jsp
    <el-ignored>:若为true,表示不支持EL语法 
    <scripting-invalid>:若为true,表示不支持<% scripting %>语法 
    <page-encoding>:设定JSP网页的编码 
    <include-prelude>:设置JSP网页的抬头,扩展名为.jspf
    <include-coda>:设置JSP网页的结尾,扩展名为.jspf

  • 相关阅读:
    算法沉思录之算法的结构
    OSSpinLockLock加锁机制,保证线程安全并且性能高
    iOS 开源库系列 Aspects核心源码分析---面向切面编程之疯狂的 Aspects
    代码阅读沉思录:代码的灵、肉与骨
    iOS AOP框架Aspects实现原理
    最近还是太浮躁了,一周阅读一个开源库是值得的
    performSelector 多参调用的实现方案
    oc消息转发:forwardInvocation、签名、参量个数、SEL 相关测试
    isa class superclass metaclass
    ARC与Toll-Free Bridging
  • 原文地址:https://www.cnblogs.com/EasonJim/p/6959120.html
Copyright © 2011-2022 走看看