持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第32天,点击查看活动详情
EL表达式
(1)为什么要用EL表达式
- 在JSP中根据开发的需要嵌入了大量的java代码,增加了页面的复杂度,是页面不够简洁,不方便代码的开发和维护。 因此Sun公司制定了JSP标签(类似于html标签)来代替java代码。
- Apache组织开发了一套标签,被sun公司整合后,成为标准标签库(jstl),jstl标签标签库可以配合EL表达式一起使用,减轻JSP页面的复杂度,代替Java代码,使JSP页面更加简洁,方便开发和维护。
(2)什么是EL表达式
EL表达式是一套简单的计算规则,用于给标签(jstl标准标签库)的属性赋值,也可以单独使用来计算和输出。
- EL表达式单独用
- EL+JSTL一起用
语法:
${………}
使用${}来替代<% %>
(3)EL表达式的功能
1)输出简单的运算结果
--算术运算 + - * / %
--逻辑运算 && || !
--关系运算 > >= < <= == !=
--empty运算:判断对象是否为空
2)获取请求参数
请求的地址:
localhost:8080/项目名/url-pattern地址
?key1=value1&key2=value2…
根据key来获取value的值
${param.key}
根据key来获取多个对应的value的值
${paramValues.key[下标]}
3)从域对象中直接获取数据
域对象—JSP中的四大域对象—jsp中的隐式对象
- pageContext
- request
- session
- appliaction
共同的方法:setAttribute(name, value)
getAttribute(name) ----> value
el表达式获取域对象中的数据的语法:
${name} ---> value
或者${xxScope.name} --->value
xx指定哪个域
4)获取JavaBean属性的值
什么是JavaBean?
是一种规范,符合该规范的类就是一个javabean类。 规范:
- ①该类的属性/成员变量是private修饰的
- ②这些属性有对应的get和set方法
- ③该类中设有无参和有参构造方法
- ④该类中设有toString方法
如果一个类是javabean类,在jsp中可以很方便的使用el表达式来获取类中的属性/成员变量。 语法:
${对象名.属性名}
<%@page pageEncoding="utf-8"%>
<html>
<head>
<title></title>
</head>
<body>
<!-- 使用el表示获取TestServlet转发过来的数据,这些数据是放在request域对象中的,el表达式可以从域对象取值 -->
${a} ${requestScope.a} ${stu} ${requestScope.stu} ${stu.id}
</body>
</html>