一、关于el表达式的基本运算
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>el的基本语法</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%
String name="狗娃";
//放入域对象中
session.setAttribute("name", name);
%>
<%=name %>
<hr/>
EL: ${name}
<%--
${name} 等价于: pageContext.findAttribute("name")
--%>
</body>
</html>
<%@page import="gz.itcast.entity.Student"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>EL获取不同类型的数据</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<!-- 1.字符串 -->
<%
String msg = "狗剩";
pageContext.setAttribute("msg", msg);
%>
${msg}
<hr/>
<!-- 2.对象 -->
<%
Student student = new Student(1,"狗娃",20);
pageContext.setAttribute("stu", student);
%>
${stu.age} <%-- .age 代表调用getAge()方法 --%>
<hr/>
<!-- 3.List或数组集合 -->
<%
List<Student> list = new ArrayList<Student>();
list.add(new Student(1,"狗娃",20));
list.add(new Student(2,"狗剩",22));
list.add(new Student(3,"狗蛋",23));
pageContext.setAttribute("list", list);
%>
${list[1].name} <br/>
${list[2].age }
<hr/>
<!-- 4.Map集合 -->
<%
Map<String,Student> map = new HashMap<String,Student>();
map.put("s1", new Student(1,"肉丝",20));
map.put("s2", new Student(2,"露丝",22));
map.put("s3", new Student(3,"夹克",24));
pageContext.setAttribute("map", map);
%>
${map['s1'].name}<br/><%--建议使用这种语法 --%>
${map.s1.name } <%-- .s1 key的内容必须是字符串 --%>
</body>
</html>
<%@page import="gz.itcast.entity.Student"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" isELIgnored="false"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>EL运算</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%--算术 --%>
${10+4 }<br/>
${10*4 }<br/>
${10/2 }
<hr/>
<%--比较 --%>
${10>5 }<br/>
${10<5 }<br/>
${10==5 }<br/>
<hr/>
<%--逻辑 --%>
${true&&true }<br/>
${false&&true }<br/>
${true||false }<br/>
${!true}<br/>
<hr/>
<%--三目 --%>
${10>5?"成功":"失败"}
<%
//模拟后台数据
Student student = new Student();
student.setGender("女");
pageContext.setAttribute("student", student);
%>
性别:
<input type="radio" name="gender" value="男" ${student.gender=="男"?"checked='checked'":""} />男
<input type="radio" name="gender" value="女" ${student.gender=="女"?"checked='checked'":""}/>女
<hr/>
<%--判空 --%>
<%
String name="";
pageContext.setAttribute("name", name);
%>
判空: ${name==null || name==""}
判空:${empty name}
</body>
</html>
如果当使用el表达式的时候,需要把数据放进域对象中,因为el表达式的基本就是在域对象取出相对应name的数据,域对象包括:pageContext、request、session、ServletContext。
现在大多数的数据在页面显示都是通过el表达式的