美文网首页
JSP中EL表达式语言学习总结

JSP中EL表达式语言学习总结

作者: capo | 来源:发表于2019-07-13 10:29 被阅读0次

    JSP2.0 最重要的特性就是EL表达式语言,JSP用户可以用它来访问应用程序数据。

    表达式的语言

    • EL表达式以 {开头,并以 }结束{expression}

    关键字

    以下关键字,它们不能作为标识符:
    and eq gt true instanceof or ne le false empty not lt ge null div mod

    [] 和 . 运算符

    注意两者都可以访问一个带有属性的对象,但是 .不能访问不是有效的 java变量名
    例如 ${header[accept-language]} 只能是这样访问

    访问 JavaBean

    利用 . 或者 [] 运算符,都可以访问 bean 的属性,其结构如下:
    { beanName["propertyName"] }或者{beanName.propertyName}

    EL隐式对象

    EL可以提供一组它自己的隐式对象来访问不同的对象

    pageContext

    pageContext对象表示当前JSP 页面的 javax.servlet.jsp.PageContext 它包含了所有的JSP隐式对象
    例如,可以利用以下任意一个表达式来获取当前的 ServletRequest
    {pageContext.request} 并且还可以利用以下任意一个表达式来获取请求方法:{pageContext.request.method}

    initParam

    隐式对象 InitParam可以获取上下文参数的值,例如,为了获取 password的上下文参数值,可以使用以下表达式 ${initParam.password}

    param

    隐式对象 param用于获取请求参数值。这个对象表示一个包含所有请求参数的Map。例如要获取 userName的值,可以使用以下任意一种表达式。
    ${param.userName}

    paramValues

    利用隐式对象 paramValues 可以获取一个请求参数的多个值。这个对象表示一个包含所有请求参数,并以参数名称作为key的Map。每个key的值是一个字符串数组
    ${paramValues.selectedOptions[0]}

    header

    隐式对象 header表示一个包含所有请求标题的 Map。为了获取header值,要利用header名称作为key。例如,为了获取accept-language这个header值,可以使用以下表达式:
    ${header["accept-language"]}
    注意 隐式对象 headerValues表示一个包含所有请求head,并且以 header名称作为key的Map。但是它返回的是一个字符串数组

    Cookie

    隐式对象cookie可以用来获取一个Cookie。这个对象表示当前 HttpServletRequest中所有cookie的值。例如,为了获取名为jessionid的cookie值,要使用以下表达式:
    {cookie.jessionid.value} 为了获取 jessionid cookie路径值,要使用以下表达式:{cookie.jessionid.path}

    EL运算符

    • 四则运算符 + - * 除法可以使用/ 或者 div 取模可以使用 % 或者 mod
    • 逻辑运算符 且 &&(and) 或 (|| 和 or) 非(! 和 not)
    • 关系运算符 (== 和 eq) 不等于(!= 和 ne) 大于(>和gt) 大于或等于(>= 和 ge) 小于或等于(<= 和 le)
      小于(<和lt) 小于或等于 (<= 和le)
    • 三目运算符 ${statement?A:B}
    • empty 用来检查一个值是否为 Null 或者empty ${empty X} 如果 X为null或者是一个长度为0的字符串,那么该表达式将返回 true ,如果是一个空 Map、空数组或者空集合,它也将返回 True, 否则返回False

    写里一个例子

    定义 两个 JavaBean


    image.png image.png

    编写一个 Servlet


    image.png

    写一个 jsp页面


    image.png

    最后访问浏览器 http://localhost:8080/employee

    image.png

    似不似很简单呀,这就是传说中的EL表达式啦

    总结:

    • EL表达式的基本语法 ${expression}
    • 访问属性对象 和JavaBean的两种方式 {bean.beanName} 或者{bean["beanName"]}
    • EL 里面的隐式对象 好多呀,自己往上面看呗
    • EL里面的算术 逻辑运算 empty 运算符

    感谢阅读,喜欢点个赞呗 !

    相关文章

      网友评论

          本文标题:JSP中EL表达式语言学习总结

          本文链接:https://www.haomeiwen.com/subject/vmkpkctx.html