1、表达式语言简介
表达式语言是在JSP2.0中增加的内容,使用表达式语言可以方便的访问对象的属性,提交的参数,或者进行各种运算,而且在输出内容为null的时候,自动用空字符串表示""
2、表达式语言的内置对象
| 表达式内置对象 | 对象说明 | |
| 1 | pageContext | javax.servlet.jsp.PageContext对象 |
| 2 | pageScope | 从page属性范围查找输出属性 |
| 3 | requestScope | 从request属性范围查找输出属性 |
| 4 | sessionScope | 从session属性范围查找输出属性 |
| 5 | applicationScope | 从application属性范围查找输出属性 |
| 6 | param | 接收传递到本页面的参数 |
| 7 | paramValues | 接收传递到本页面的一组参数 |
| 8 | header | 取得一个头信息 |
| 9 | headerValues | 取得一组头信息 |
| 10 | cookie | 取出cookie中的数据 |
| 11 | initParam | 取得配置初始化参数 |
3、4中属性范围
| 范例 | 用法说明 | |
| pageScope | ${pageScope.属性} | 取出page范围的属性内容 |
| requestScope | ${requestScope.属性} | 取出request范围的属性内容 |
| sessionScope | ${requestScope.属性} | 取出session范围的属性内容 |
| applicationScope | ${applicationScope.属性} | 取出application范围的属性内容 |
4、调用内置对象操作,大多是调用getter和setter方法,采用的是反射机制例如
IP地址:${pageContext.request.remoteAddr}
SESSION ID:${pageContext.session.id}
是否是新session:${pageContext.session.new}
5、接收请求参数
${param.参数名称}
如果是接收一组参数,则用${paramValues.参数名称},直接用下标访问${paramValues.inst[i]},表示接收地i+1个参数
6、表达式的集合操作
一般的集合格式为${集合对象[i]},表示接收集合中的第i+1个参数,例如${list[0]}
map的集合操作既可以用${集合对象.键}也可以${集合对象["键"]},例如${map.name}或者${map["name"]}都表示输出map对象的name属性内容
7、运算符
| 描述 | 范例 | 结果 | |
| + | 加法操作 | ${20 + 30} | 50 |
| - | 减法操作 | ${20 - 30} | -10 |
| * | 乘法操作 | ${20 * 30} | 600 |
| /或div | 除法操作 | ${20 / 30}/ ${20 div 30} | 0.666 |
| %或mod | 取摸操作 | ${20 % 30}/ ${20 mod 30} | 20 |
| 描述 | 范例 | 结果 | |
| == / eq | 等于 | ${20 == 30} / ${20 eq 30} | false |
| != / ne | 不等于 | ${20 != 30} / ${20 ne 30} | true |
| < / lt | 小于 | ${20 < 30} / ${20 lt 30} | true |
| > / gt | 大于 | ${20 > 30} / ${20 gt 30} | false |
| <= / le | 小于等于 | ${20 <= 30} / ${20 le 30} | true |
| >= / ge | 大于等于 | ${20 >= 30} / ${20 ge 30} | false |
8、逻辑运算符
| 逻辑运算符 | 描述 | 范例 | 结果 |
| && / and | 与 | ${ true && false} / ${true and false} | false |
| || / or | 或 | ${ true || false} / ${true or false} | true |
| ! / not | 非操作(取反) | ${ !true} / ${not true} | false |
9、其他运算法
| 其他运算符 | 描述 | 范例 | 结果 |
| empty | 判断是否为null | ${empty info} | true |
| ?: | 三木运算 | ${ 10 > 20?"大于":"小于"} | 小于 |
| () | 括号运算符 | ${10 * (20 + 30)} | 500 |
本文出自 “唯一的信仰” 博客,请务必保留此出处http://webinfo.blog.51cto.com/7386590/1368908
原文:http://webinfo.blog.51cto.com/7386590/1368908