• EL表达式学习


    EL表达式取值

    1.EL表达式的语法格式很简单:

    以前编写jsp代码时,如果要获取表单中的用户名,一般使用 <%=request.getParameter("name")%>,这样当然也可以获取到值,但是又把html代码和java代码混到一起,看起来比较乱套。现在使用EL表达式的话就比较简洁了:${param.name}就可以解决了。

    注意:${表达式} 表达式部分不需要加引号,如果写成 ${"param.name"} ,那么页面上显示出来的就不是表单中name的值了,而是 "param.name" 这个字符串。表达式与开始符和终结符之间的空格被忽略不计。如果表达式的值为null,那么页面将显示一个空格而不是null。

    2.EL的两个运算符   "." 和 "[]"

    ${param.name} 和 ${param["name"]} 是等价的,但是当要存取的属性名称中包含有一些特殊字符如 "." 或 "-" 等非字母或数字的符号 或者 在使用动态取值时,就一定要使用 "[]" 运算符。

    3.EL表达式的取值范围

    pageScope、requestScope、sessionScope、applicationScope

    如果没有给定参数名的取值范围,系统默认从page范围中查找,找不到则找request,一次类推,都找不到时传回null。

    例如,存入一个session范围的值:<% session.setAttribute("u", "hello,EL") %>

    那么,传统方式取值:<% session.getAttribute("u") %>。使用EL表达式取值:${sessionScope.u} 或者 ${u}

    4.EL表达式可以自动转换类型

    传统代码:

    1<%
    2Stringage=request.getParameter("age");
    3intagei=Integer.parseInt(age);
    4out.println(age+10);
    5%>

    使用EL表达式:

    1${user.age+10}

    5.EL表达式的内置对象

    (1)与范围有关的内置对象

    pageScope、requestScope、sessionScope、applicationScope

    (2)与输入有关的内置对象

    param 和 paramValues 用来获取表单中提交的信息。前者返回 String 类型数据,后者返回 String[] 类型的数据。如 ${paramValues.name}。

    (3)其他隐含对象

    Cookie

    header  如:${header["UserAgent"]} 获取浏览器的版本信息

    headerValues 

    initParam  如:${initParam.DBDriver} 获取web.xml中配置的相关参数

    pageContext 如:${pageContext.request.remoteAddr} 获取用户的IP地址

    6.特别注意:

    通过获得的参数进行比较判断时,要这样比较:${param.name1 == param.name2}

    empty 运算符用于判断值是否为 null 或 空 。 ${empty null} ${empty ""}

  • 相关阅读:
    RTTI应用一例,改变窗体上所有控件的颜色(如果这个控件有Color属性的话)
    ddd
    终于懂了:TWinControl主要是Delphi官方用来封装Windows的官方控件,开发者还是应该是有TCustomControl来开发三方控件
    C++能在三个地方创造对象,而Delphi只有一个地方
    win32内存调用图
    让C#、VB.NET实现复杂的二进制操作
    谈谈华为(这篇文章比较有思想,对不对另说)
    How to configure CDB in Qt Creator(使用VC调试器)
    kbmMW 5.0.1发布了(跨全平台,包括Linux,可使用Win的高性能HTTPSys传输层,等等)
    FMXUI
  • 原文地址:https://www.cnblogs.com/vinozly/p/4915312.html
Copyright © 2020-2023  润新知