• EL表达式


    1、表达式与java无关,表达式都是以${开始,以}结束。
    2、EL访问java变量不能直接访问,因为得不到数据,要访问数据,需要将其放到作用域中。例如访问String str=”abc”,我们不能通过${str}直接访问,因为获取不到,我们可以这样访问:
    pageContext.setAttribute(“a”,str);获取方式${a},与java表达式不同的是,当str=null时,该获取方式获取不到null,而是什么东西都不显示。
    3、实例代码:
    request.setAttribute("aaa","wuxin");
    你好,${requestScope.aaa }
    访问javaBean:${隐式对象.id号.属性名字 }例如${sessionScope.user.userName }
    4、在EL表达式中定义的变量我们不能使用。
    5、要直接从表单中获取值,使用${param.控件名字}
    6、获取值的几种方式
    7、${“23”+3}得到的结果为26,${“23s”+3}报错
    8、打开或者禁用EL表达式:使用isELIgnored=”true(禁用)/false(支持)”
    9、${这个里面不能使用java代码,否则会报出服务器的500异常}


    EL表达式的常用:
    1、从表单提交到另一个页面,使用param( paramValues)例如:
    Request.getParameter(“username”)可写成${param.usernam},${paramValues.hobby[2]}
    2、从隐式对象中获取数据:例如:session.setAttribute(“hello”,”123”);
    Sesson.getAttribute(“hello”);可写成${sessionScope.hello},获取javaBean中的数据,例如session.setAttribute(“user”,user);
    User u=(User)Session.getAttribute(“user”);u.getUserName();
    可为${sessionScope.user.userName}
    当前面没有写隐式对象的时候,例如${ hello},编译器会自动从最小的默认对象开始找,即pageScope、requestScope、sessionScope、applicationScope,找到匹配的显示,没有找到则为null
    EL的默认对象:
    pageScope、requestScope、sessionScope、applicationScope、param、paramValues、header、headerValues、cookie、、
    3、动态赋值:${sessionScope.user[data]},如果data为userSex,则它的值 为${sessionScope.user[“userSex”]}等价于${sessionScope.user.userSex},如果data的值 为userName,则它的值为${sessionScope.user.userName},用.的方式无法动态赋值
    4、若要在页面显示El表达式,在EL表达式的前面加上一个反斜杠,例如:${1.2+4.5}

  • 相关阅读:
    C#多线程编程实战1.5检测线程状态
    C#多线程编程实战1.4终止线程
    C#多线程编程实战1.3等待线程
    C#多线程编程实战1.2暂停线程(休眠)
    C#多线程编程实战1.1创建线程
    C#中base的作用
    C#继承
    C#中return的两个作用
    Windows下完全卸载node.js并安装node.js的多版本管理工具nvm-windows
    执行gulp build报错
  • 原文地址:https://www.cnblogs.com/HD/p/3630091.html
Copyright © 2020-2023  润新知