EL表达式
1.概念:Expression Language 表达式语言
2.作用:替换和简化jsp页面中java代码的编写
3.语法:${表达式}
4.注意:
jsp默认支持el表达式的,如果要忽略el表达式
1.设置jsp中page指令中:isELIgnored=“true” 忽略当前jsp页面中所有的el的表达式
2.${表达式}:忽略当前这个el表达式
5.使用:
1.运算:
运算符:
1.算数运算符:±*/%
2.比较运算符:>< >= <= == !=
3.逻辑运算符:&& || !
4.空运算符:empty
功能:用于判断字符串,集合,数组对象是否为null并且长度是否为0
${empty list}
${not empty list}判断是否不为null,并且长度大于0
2.获取值
1.el表达式只能从域对象中获取值
2.语法:
1.{requestScope.name}
2.${键名}:表示依次从最小的域中查找是否有该键对应的值,直到找到为止。
3.获取对象:list集合,Map集合的值
1.对象:${域名称.键名。属性名}
本质上会去调用对象的getter方法
2.List集合:
${域名称。键名[索引]}
3.Map集合:
${域名称。键名。key名称}
${域名称。键名[key名称]}
4.隐式对象:
el表达式有11个隐式对象
pageContext:
1.获取其他八个内置对象
${pageContext.request.contextpath}:动态获取虚拟目录
package itcast.domain;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.SimpleFormatter;
创建USer
public class User {
private String name;
private int age;
private Date birthday;
//逻辑视图
public String getBirStr(){
if(birthday!=null){
//格式化日期
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//返回字符串即可
return sdf.format(birthday);
}else{
return "";
}
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
}
创建EL的JSP
<%@ page import="itcast.domain.User" %>
<%@ page import="java.util.*" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>获取对象数据</title>
</head>
<body>
<%
User user=new User();
user.setName("张三");
user.setAge(20);
user.setBirthday(new Date());
request.setAttribute("u",user);
List list=new ArrayList();
list.add("aaa");
list.add("bbb");
list.add(user);
request.setAttribute("list",list);
Map map=new HashMap();
map.put("sname","李四");
map.put("gender","男");
map.put("user",user);
request.setAttribute("map",map);
%>
<h3>获取对象中的值</h3>
${requestScope.u}
<%--
通过的式对象的属性来获取
setter或getter方法,去掉set或get,再将剩余部分,首字母变为小写
setter--->Name-->name
--%>
<br>
${requestScope.u.name}<br>
${requestScope.u.age}<br>
${requestScope.u.birthday}<br>
${u.birthday.year}
${u.birthday.month}<br>
${u.birthday}<br>
${u.birStr}<br>
<h3>获取list值</h3>
${list}<br>
${list[0]}<br>
${list[1]}<br>
${list[10]}<br>
${list[2].name}<br>
<h3>获取Map值</h3>
${map.gender}<br>
${map.user.name}
${map.user.age}
</body>
</html>
来源:CSDN
作者:我要上岸上岸丶
链接:https://blog.csdn.net/weixin_45480785/article/details/103753722