zoukankan      html  css  js  c++  java
  • EL表达式

    表达式语言(Expression Language,EL)是JSP2.0中引入的新特性,在JSP中使用EL表达式可以获取并显示页面数据。使用EL表达式可以简化对变量和对象的访问,减少JSP中的Java代码。

    ${ELexpression}

    EL表达式是以“$”符合开始,后面紧跟一对大括号,大括号内部包含合法的表达式。EL表达式可以直接用在JSP页面的静态文本中,也可以作为JSP标签的属性值来使用。

    访问作用域变量

    可以通过${varname}的形式取得作用域变量的值,其中,varname是要访问作用域变量的名称。

    1、首先从page范围查找属性varname,如果找到了则返回并输出当前范围的变量的值;

    2、如果没找到,则再从request范围查找。

    3、如果没找到,再从session范围查找

    4、最后从application范围查找

    5、如果都没找到,则直接返回并输出空字符串。

    访问JavaBean属性

    在servlet中实例化JavaBean类,并放入request域内。

    EL表达式可以通过点号运算符访问JavaBean属性,具体格式${作用域对象名.属性名},它相当于调用JavaBean对象的getter方法。

    访问集合元素

    访问的数据类型 使用示例 说明 返回值 实际调用的方法
    数组 ${ins[i]} i代表数组元素的下标 返回下标为i的数组元素的值 ins[i]
    ${ins['i']}
    ${ins["i"]}
    List ${ins[i]} i代表List元素的下标 返回下标为i的List集合元素的值 ins.get(i)
    ${ins['i']}
    ${ins["i"]}
    Map ${ins[name]} name代表Map对象键值 返回对应于键name的值 ins.get("name")
    ${ins['name']}
    ${ins["name"]}

    EL内置对象

    内置对象名 类型 说明
    pageContext javax.servlet.jsp.PageContext 当前页面上下文对象
    pageScope java.util.Map 访问page属性范围的对象
    requestScope java.util.Map 访问request属性范围的对象
    sessionScope java.util.Map 访问session属性范围的对象
    applicationScope java.util.Map 访问application属性范围的对象
    param java.util.Map 获取其它页面传递过来的参数
    paramValues java.util.Map 获取其它页面传递过来的多值参数
    header java.util.Map 获取头信息
    headerValues java.util.Map 获取头信息的值
    cookie java.util.Map 获取cookie的值
    initParam java.util.Map 获取设定的初始化参数的值

    1、pageContext

    pageContext对象可以获得与用户请求或服务器端相关的信息,它用于访问JSP内置对象,如请求、响应、会话、输出、servletContext等。

    表达式 作用
    ${pageContext.request.queryString} 取得请求字符串
    ${pageContext.request.requestURL} 取得不包括请求字符串的URL
    ${pageContext.request.method} 取得HTTP方法
    ${pageContext.request.contextPath} 取得请求的上下文路径
    ${pageContext.request.remoteAddr} 取得用户的IP地址
    ${pageContext.session.new} 判断session是否是已产生但未使用
    ${pageContext.session.id} 取得session的id
    ${pageContext.servletContext.serverInfo} 取得服务器的信息

    2、作用范围相关的内置对象

    pageScope、requestScope、sessionScope、applicationScope,只能用来获取值而不能设置值。

    3、与请求参数相关的内置对象

    param和paramValues相当于getParameter()和getParameterValues()

    4、与请求头相关的内置对象

    header用来访问HTTP请求头的一个具体的Header值,

    headerValues用来访问所有HTTP请求的Header值。

    如果头中包含“-”,则访问时要用中括号运算符而不能使用点号运算符。

    5、cookie内置对象

    ${cookie.username.value}表示返回cookie中名称为username的值。

    6、与初始化参数相关的内置对象

    initParam内置对象用于获取web.xml文件中配置的初始化参数,它相当于ServletContext.getInitParameter(String name)方法。

    EL运算符

    1、算符运算符

    2、关系运算符

    3、逻辑运算符

    4、条件运算符

    5、empty运算符

    empty运算符使用格式为:${empty expression},它用来判断expression的值是否为null、空字符串、空数组、空Map或空集合,若为空则返回true,否则返回返回false

    禁用EL表达式

    {%@page isELIgonred="{true}"%}
  • 相关阅读:
    手动去除桌面快捷方式的小箭头
    免费才是硬道理:简评几款非盈利截屏软件
    策划入门(二)如何写一个项目建议书
    解决Fiddler在IE7下不能拦截的问题
    使用Fiddler轻松下载Flash视频flv流媒体文件
    策划入门(一)什么样的创意是可行的
    EFS加密的一线生机-加密帐户被删的补救方法
    50条重要的C++学习建议
    策划入门(六)如何将模块变成现实
    Windows XP 的任务栏出现重复的工具栏的问题
  • 原文地址:https://www.cnblogs.com/blunFan/p/11641071.html
Copyright © 2011-2022 走看看