• JSP知识_EL表达式


    关联参照:

      el 表达式的小讲解 http://www.imooc.com/article/15047

        JSP常用标签 http://www.imooc.com/learn/451

      Java web中的EL和jstl表达式入门 http://www.imooc.com/article/13860

       JSTL详解--EL表达式 http://www.cnblogs.com/hya1109/archive/2007/10/02/912947.html

      EL表达式总结 http://www.cnblogs.com/cyjch/archive/2012/02/08/2342387.html

      JSF Expression Language(EL表达式) http://www.cnblogs.com/wenjl520/archive/2009/12/24/1631504.html

      javaweb学习总结(二十九)——EL表达式 http://www.cnblogs.com/xdp-gacl/p/3938361.html

    el 表达式的小讲解------------------------------------------------------------------------

    el表达式是什么?
    sun制订的一种用于计算的一种规则,早期只能用于给标签的属性赋值,现在也可以直接输出。
    ) 第一种: 访问bean的属性
    a. ${user.name}:
    jsp引擎会依次从pageContext、request、session、application查找绑订名为“user” 的对象,如果找到了,就不再向下查找,否则,继续向下查找。 找到后,调用该对象的getName(),并输出其值;找不到,则输出""(空)。
    b. 或者也可以使用${user["name"]},效果相同
    "name" 表示字符串
    c. 或者是${user[propname]},注意propname没有引号,表示变量
    d. 此外,[ ]里面还可以是0,1..这样的下标,作用是输出数组里的元素值。
    e. 可以使用pageScope,requestScope,sessionScope,applicationScope四个关键字指定查找的范围。
    f. ${requestScope.user.name}只到request中去找,不再依次到4个范围查找了
    第二种: 获得请求参数值
    a. ${param.username}
    等价于 request.getParameter("username");

    b. ${paramValues.interest}
    等价于request.getParameterValues("interest");
    第三种: 计算一个表达式,将结果作为标签的属性值或者直接输出
    a. 算术运算
    “+” , “-” , “*” , “/” , “%” , 但是要注意,“+”号不能连接字符串。
    b. 关系运算
    "==" , "!=" , ">" , "<" ,">=" , "<="
    可以使用对应的"eq","nq","lt","gt","le","ge"代替。
    c. 逻辑运算
    "&&","||","!",
    可以使用"and","or","not"代替。
    d. empty运算
    判断一个字符串是否为空,集合内容是否为空,以及绑订的对象是否存在

    图片描述

    ----El+jstl入门-----------------------------------------------------------------------------------------------------------
    一、 el + jstl 入门
    el 作为一种表现层的技术,防止了null空指针的异常。如果发现为null,他就不输出了。

    1. EL 全名为Expression Language。它是一种数据访问语言

    el 表达式

    1. EL 能实现如下功能:

    1) 使用变量访问web域中存储的对象 ${user }

    2) 访问javabean的属性 ${user.address.city }

    3) 执行基本的逻辑运算

    4) 直接使用隐式对象

    5) 调用 el 函数

    1. el 表达式用在哪里

    1) 在 jsp 页面直接输出数据

    2) 在标签中使用el直接为属性赋值

    1. el 表达式获取数据

    在jsp页面使用el表达式可以轻松地获得web域中的对象

    并对 javabean 、 数组、 list 、 map 进行取值

    1. 需要对 web 域中的 list 和map 集合进行迭代就需要结合 jstl 迭代标签

    Jstl入门

    JSTL是sun公司开发的一套标签库

    使用JSTL可以在页面中实现一些简单的逻辑,从而替换页面中的脚本代码

    在页面中使用JSTL标签需完成以下2个步骤:

    1) 导入jstl.jar和standerd.jar这两个JSTL的jar文件。

    2) 在JSP页面中使用<%@ taglib uri=“” prifix=“” %>元素导入标签库。

    最常用的 jstl 标签为 forEach 和 if 标签

    <c:foreach var=”” items=””>

    <c:if test=””>

    1. el表达式可以进行逻辑运算

    2. el表达式中的保留关键字

    二、 el 中的11 个隐式对象
    隐含对象名称

    描 述

    pageContext

    对应于JSP页面中的pageContext对象

    pageScope

    代表page域中用于保存属性的Map对象

    requestScope

    代表request域中用于保存属性的Map对象

    sessionScope

    代表session域中用于保存属性的Map对象

    applicationScope

    代表application域中用于保存属性的Map对象

    param

    表示一个保存了所有请求参数的Map对象

    paramValues

    表示一个保存了所有请求参数的Map对象,它对于某个请求参数,返回的是一个string[]

    header

    表示一个保存了所有http请求头字段的Map对象

    headerValues

    同上,返回string[]数组。注意:如果头里面有“-” ,例Accept-Encoding,则要headerValues[“Accept-Encoding”]

    cookie

    表示一个保存了所有cookie的Map对象

    initParam

    表示一个保存了所有web应用初始化参数的map对象

    隐式对象的具体用途

    1. pageContext

    获得servlet上下文路径 (web应用名称)

    ${pageContext.request.contextPath }

    1. pageScope、requestScope、sessionScope、applicationScope

    准确地获得四个域中的对象,用于取值

    1. param、paramValues

    获得请求参数,一般用于做表单的回显

    1. header、headerValues

    获得请求消息头

    1. cookie

    获得浏览器发送的cookie

    Cookie也是map集合,key是cookie的name value是对应的cookie对象

    1. initParam

    获得web 初始化参数

    el表达式是什么?
    sun制订的一种用于计算的一种规则,早期只能用于给标签的属性赋值,现在也可以直接输出。
    ) 第一种: 访问bean的属性
    a. ${user.name}:
    jsp引擎会依次从pageContext、request、session、application查找绑订名为“user” 的对象,如果找到了,就不再向下查找,否则,继续向下查找。 找到后,调用该对象的getName(),并输出其值;找不到,则输出""(空)。
    b. 或者也可以使用${user["name"]},效果相同
    "name" 表示字符串
    c. 或者是${user[propname]},注意propname没有引号,表示变量
    d. 此外,[ ]里面还可以是0,1..这样的下标,作用是输出数组里的元素值。
    e. 可以使用pageScope,requestScope,sessionScope,applicationScope四个关键字指定查找的范围。
    f. ${requestScope.user.name}只到request中去找,不再依次到4个范围查找了
    第二种: 获得请求参数值
    a. ${param.username}
    等价于 request.getParameter("username");

    b. ${paramValues.interest}
    等价于request.getParameterValues("interest");
    第三种: 计算一个表达式,将结果作为标签的属性值或者直接输出
    a. 算术运算
    “+” , “-” , “*” , “/” , “%” , 但是要注意,“+”号不能连接字符串。
    b. 关系运算
    "==" , "!=" , ">" , "<" ,">=" , "<="
    可以使用对应的"eq","nq","lt","gt","le","ge"代替。
    c. 逻辑运算
    "&&","||","!",
    可以使用"and","or","not"代替。
    d. empty运算
    判断一个字符串是否为空,集合内容是否为空,以及绑订的对象是否存在图片描述


    作者: i文Vin
    链接:http://www.imooc.com/article/15047
    来源:慕课网

    asdfel表达式是什么?
    sun制订的一种用于计算的一种规则,早期只能用于给标签的属性赋值,现在也可以直接输出。
    ) 第一种: 访问bean的属性
    a. ${user.name}:
    jsp引擎会依次从pageContext、request、session、application查找绑订名为“user” 的对象,如果找到了,就不再向下查找,否则,继续向下查找。 找到后,调用该对象的getName(),并输出其值;找不到,则输出""(空)。
    b. 或者也可以使用${user["name"]},效果相同
    "name" 表示字符串
    c. 或者是${user[propname]},注意propname没有引号,表示变量
    d. 此外,[ ]里面还可以是0,1..这样的下标,作用是输出数组里的元素值。
    e. 可以使用pageScope,requestScope,sessionScope,applicationScope四个关键字指定查找的范围。
    f. ${requestScope.user.name}只到request中去找,不再依次到4个范围查找了
    第二种: 获得请求参数值
    a. ${param.username}
    等价于 request.getParameter("username");

    b. ${paramValues.interest}
    等价于request.getParameterValues("interest");
    第三种: 计算一个表达式,将结果作为标签的属性值或者直接输出
    a. 算术运算
    “+” , “-” , “*” , “/” , “%” , 但是要注意,“+”号不能连接字符串。
    b. 关系运算
    "==" , "!=" , ">" , "<" ,">=" , "<="
    可以使用对应的"eq","nq","lt","gt","le","ge"代替。
    c. 逻辑运算
    "&&","||","!",
    可以使用"and","or","not"代替。
    d. empty运算
    判断一个字符串是否为空,集合内容是否为空,以及绑订的对象是否存在图片描述


    作者: i文Vin
    链接:http://www.imooc.com/article/15047
    来源:慕课网
  • 相关阅读:
    使用插件和不使用插件实现select的框
    利用sshtunnel实现跳板机的效果[嵌套ssh实现]
    laravel中get()与 first()区别、collection与stdClass的区别
    Laravel 安全:避免 SQL 注入
    MAC 终端走代理服务器
    Python--Virtualenv简明教程(转载https://www.jianshu.com/p/08c657bd34f1)
    Charles 如何抓取https数据包
    爬虫出现Forbidden by robots.txt(转载 https://blog.csdn.net/zzk1995/article/details/51628205)
    Scrapy框架的学习(6.item介绍以及items的使用(提前定义好字段名))转载https://blog.csdn.net/wei18791957243/article/details/86259688
    python xpath
  • 原文地址:https://www.cnblogs.com/charles999/p/7110694.html
Copyright © 2020-2023  润新知