JSP入门 el表达式

我们已经知道el是jsp-2.0规范的一部分,tomcat-5.x版本以上都已经能够支持jsp-2.0规范,但在更低版本的tomcat和webphere,weblogic中还是无法使用这一便捷方式。 

禁用el表达式,是使用了isELIgnore="true"这样一条jsp指令(directive),请注意大小写。 

 

还有一种批量禁用el的方法,我们可以在WEB-INF/web.xml中使用
jsp-property-group标签批量禁用el,我们在13-02/WEB-INF/web.xml中进行如下配置。

<?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"     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"     version="2.4">  
    <jsp-config> 
        <jsp-property-group> 
            <url-pattern>*.jsp</url-pattern>             <el-ignored>true</el-ignored>         </jsp-property-group>     </jsp-config>  
</web-app> 

实际上还有第三种方法可以禁用掉所有jsp中的el表达式,那就是把web.xml定义为2.3版。

 

=========================

1.作用域

使用el的时候,默认会以一定顺序搜索四个作用域,将最先找到的变量值显示出来。

 

根据作用域访问对象 ${requestScope.username}
1.${pageContext.request.contextPath}返回的是request.getContextPath()的值,不能使用${request.contextPath}的形式替代。
2.pageScope, requestScope, sessionScope, appliationScope都可以看作是Map型变量,调用其中的数据可以使用${pageScope.name}或${pageScope["name"]}的形式,这两种写法是等价的。
6.ServletContext.getInitParamter()指的应用的初始变量,这些变量都是定义在web.xml中的。
 
<context-param> 
    <param-name>username</param-name> 
    <param-value>username with context param</param-value>
 </context-param>
 
 
如果想在jsp中显示${name}而不让jsp把它当作el计算出来,可以写成\${name},这样最后显示的结果就是${name}了。
posted @ 2013-10-30 17:04  Mr.Ming2  阅读(401)  评论(0编辑  收藏  举报