jsp表达式语言

表达式中的内置对象

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


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值