el 表达式

一、el 规则

1、用于输入Bean的属性

  1)、${user.name} ,jsp的引擎依次从pageContext、request、session、application中查找指定属性,若找到不再继续往下找,找不到返回语法错误;

  2)、EL表达式的作用范围,关键字有下面几个:pageScope、requestScope、sessionScope、applicationScope,用法如下:

    ${pageScope.User.name}

  3)、el也可这样使用。${user[param]},这个比${user.name}有如下好处:

     1、只写一遍,可以通过此方法获取Bean下面的所有属性,可以通过传参数获取,例如:不用这样写:user.name;user.age

     2、可以处理数组。例如:Java Bean User 中包含字符串数组变量,string interest[] = new interest["fish"、"cooking"],通过${user.interest[0] }

  注:el 表达式遇到空值返回的是空字符串,不会是null 值。

2、获取参数值

  1)、获取单一值。 通过param.name.    等同于jsp中的request.getParameter("name")    获取参数name 的值

  2)、获取多个值。 paramValues.interest    等同于jsp中的request.getParameterValues("interest"))  获取参数interest的数组的值

3、用于算术运算、关系运算、逻辑运算等,可以作为结果直接输入,可以用于jstl标签的属性。

  ${1+1} 、 ${1 == 1} 、 ${empty str },

  empty运算符可以用于空值判断,返回布尔值true或false ,有如下三种情况:

  1)、字符串为空字符串

  2)、集合为空,例如:List list = null , 或 List list = new ArrayList();

  3)、找不到对应的变量值。

  注:${1+1} 输出2 ,${“1”+“1”} 无效,EL表达式不能用于字符串拼接

二、el 函数

  使用方式和jstl标签一样。导包,添加taglib指令。

   1、${fn:length((abc)}

  ()如果是变量,会从作用范围中查找变量的值,然后调用函数,并输入结果。

   2、自定义函数步骤

    1)、定义一个public static 方法

    2)、在tld文件中描述函数,参考fn.tld文件

    3)、在页面中添加taglib指令

  3、自定义实现字符串拼接函数

    

 

posted @ 2018-01-13 18:45  无敌多么,无敌寂寞  阅读(65)  评论(0)    收藏  举报