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、自定义实现字符串拼接函数

浙公网安备 33010602011771号