表达式中的内置对象
No. | 表达式内置对象 | 说明 |
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 | 取得配置的初始化参数 |
取出不同范围的属性内容:
No. | 属性范围 | 范例 | 说明 |
1 | pageScope | ${pageScope.属性} | 取出page范围的属性内容 |
2 | requestScope | ${requestScope.属性} | 取出request范围的属性内容 |
3 | sessionScope | ${sessionScope.属性} | 取出session范围的属性内容 |
4 | applicationScope | ${applicationScope.属性} | 取出application范围的属性内容 |
<body>
<%
pageContext.setAttribute("info","page属性范围") ; // 设置一个page属性
request.setAttribute("info" , "request属性范围") ; // 设置一个request属性
session.setAttribute("info" , "session属性范围") ; // 设置一个session属性
application.setAttribute("info" , "application属性范围") ;// 设置一个application属性
%>
<h3>PAGE属性内容:${pageScope.info}</h3> <!-- 表达式输出 -->
<h3>REQUEST属性内容:${requestScope.info}</h3> <!-- 表达式输出 -->
<h3>SESSION属性内容:${sessionScope.info}</h3> <!-- 表达式输出 -->
<h3>APPLICATION属性内容:${applicationScope.info}</h3> <!-- 表达式输出 -->
</body>
表达式语言可以方便的操作集合
操作List集合,(request.setAttribute("info",list)) 操作方式${info[x]},也可遍历然后取出
操作Map集合,(request.setAttribute(“info”,map))操作方式${info[key]},key为map中的key值
表达式操作实体类(简单java类)
Person per = new Person();
per.setNo(1);
per.setName("hello");
per.setAge(20);
request.setAttribute("person",per);
操作方式:${person.no}、${person.name}、${person.age}
如果per封装在集合中,先遍历集合,再取出值
表达式语言还支持运算符(数学、关系、逻辑运算符)
No. | 算术运算符 | 描述 | 范例 | 结果 |
1 | + | 加法操作 | ${20 + 30} | 50 |
2 | - | 减法操作 | ${20 - 30} | -10 |
3 | * | 乘法操作 | ${20 * 30} | 600 |
4 | / 或 div | 除法操作 | ${20 / 30} 或 ${20 div 30} | 0.666 |
5 | % 或 mod | 取模(余数) | ${20 % 30} 或 ${20 mod 30} | 20 |
No. | 关系运算符 | 描述 | 范例 | 结果 |
1 | == 或 eq | 等于 | ${20 == 30} 或 ${20 eq 30} | false |
2 | != 或 ne | 不等于 | ${20 != 30} 或 ${20 ne 30} | true |
3 | < 或 lt | 小于 | ${20 < 30} 或 ${20 lt 30} | true |
4 | > 或gt | 大于 | ${20 > 30} 或 ${20 gt 30} | false |
5 | <= 或 le | 小于等于 | ${20 <= 30} 或 ${20 le 30} | true |
6 | >= 或 ge | 大于等于 | ${20 >= 30} 或 ${20 ge 30} | false |
No. | 逻辑运算符 | 描述 | 范例 | 结果 |
1 | && 或 and | 与操作 | ${true && false} 或 ${true and false} | false |
2 | || 或 or | 或操作 | ${true || false} 或 ${true or false} | true |
3 | ! 或 not | 非操作(取反) | ${!true} 或 ${not true} | false |
No. | 其他运算符 | 描述 | 范例 | 结果 |
1 | empty | 判断是否为null | ${empty info} | true |
2 | ? : | 三目运符 | ${10>20 ? "大于" : "小于"} | 小于 |
3 | () | 括号运算符 | ${10 * (20 + 30)} | 500 |