测试EL表达式


普通字符器

hello(jsp表达式):<%=request.getAttribute("hello") %>
hello( el表达式):${hello}

内置对象范围

内置对象范围: pageScope < requestScope < sessionScope < applicationScope

hello(el表达式,范围pageScope):${pageScope.hello }
hello(el表达式,范围requestScope):${requestScope.hello }
hello(el表达式,范围sessionScope):${sessionScope.hello }
hello(el表达式,范围applicationScope):${applicationScope.hello }
如果不指定范围,它的搜索顺序为pageScope~applicationScope):${hello }

结构,采用.或[]进行导航,或称为存取器

姓名:${user["姓名"]}
年龄:${user["年龄"] }
所属组:${user["集团"]["集团名称"] }

姓名:${user.姓名 }
年龄:${user.年龄 }
所属组:${user.集团.集团名称 }

map

map.11:${map["11"] }
map.12:${map["12"] }
map.13:${map["13"] }
map.14:${map["14"] }
map.15:${map["15"] }

字符串数组,采用[]下标

strArray[0]:${strArray[0] }
strArray[1]:${strArray[1] }
strArray[2]:${strArray[2] }
strArray[3]:${strArray[3] }

对象数组,采用[]下标

users[3].姓名:${users[3].姓名}
users[5].姓名:${users[5].姓名}

List,采用[]下标

userList[4].姓名:${userList[4].姓名 }
userList[6].姓名:${userList[6].姓名 }

el表达式对运算符的支持

1 + 1 = ${1 + 1 }
10 / 5 = ${ 10 / 5 }
10 div 5 = ${10 div 5 }
10 % 3 = ${10 % 3 }
10 mod 3 = ${10 mod 3 }

测试empty 判断是为空值

v1:${empty v1 }
v2:${empty v2 }
v3:${empty v3 }
v4:${empty v4 }
v5:${empty v5 }
<%request.setAttribute("用户名","任智霖"); %> <%request.setAttribute("用户名1",""); %> <%request.setAttribute("用户名2",null); %> 判断 request.setAttribute("用户名","任智霖") 是否为空:${empty 用户名}
判断 request.setAttribute("用户名1","") 是否为空:${empty 用户名1}
判断 request.setAttribute("用户名2",null) 是否为空:${empty 用户名2}