EL表达式
EL表达式
一.简介
1.EL表达式:
Expression Language主要作用是获取保存在作用域当中的数据
2.语法
${作用域当中的key},例如在request中封装数据name
//request中封装数据
request.setAttribute("name",“张三”);
//JSP中使用java读取
<%
String name = (String)request.getAttribute("name");
out.print(name);
%>
//使用表达式读取
<%=name%>
//使用EL表达式读取
${name}
二.EL表达式使用
1.支持算术运算
<body>
12+5=${12+5}<br>
12/6=${12/6}
12*6=${12*6}
12-6= ${12-6}
13%2 = ${13%2}
</body>
2.支持关系运算
<body>
12 == 15 ${12 == 15}<br>
13 <= 12 ${13 le 12}<br>
12 != 15 ${12 != 15}<br>
</body>
3.支持逻辑运算符
<body>
12<15 && 13<15 ${12<15 && 13<15 }<br>
12<15 or 13<15 ${12<15 or 13<15 }<br>
!true ${!true}
</body>
4.判断是否为null和是否为空
<body>
<%
pageContext.setAttribute("name","");
pageContext.setAttribute("age",null);
%>
${empty name}//true
${empty age} true
</body>
5.支持三目运算符
<body>
${12>15?'yes':'no'}
</body>
6.访问对象
<body>
<%
StudentModel model = new StudentModel();
model.setName("张三");
model.setGender("男");
model.setAge(19);
model.setId(1);
pageContext.setAttribute("student",model);
%>
姓名:${student.name}
年龄:${student.age}
性别:${student.gender}
</body>
三.JSTL(Javaserver page Standard Tag Library)
1.foreach
属性 | 描述 |
---|---|
items | 获取被遍历的数组,List,Map |
var | 数组,List,Map中元素的别名 |
begin | 从索引begin处开始迭代 |
end | 到索引end出结束 |
step | 迭代时数step条数据 |
varStatus | 被迭代对象的状态 |
<body>
<table width="500" border="1" align="center">
<tr>
<td>ID</td>
<td>姓名</td>
<td>年龄</td>
<td>性别</td>
<td>删除</td>
</tr>
<c:forEach items="${list}" var="item" varStatus="model" begin="0">
<tr>
<td>${item.id}</td>
<td>${item.name}</td>
<td>${item.age}</td>
<td>${item.gender}</td>
<td><a href="${pageContext.request.contextPath}/deleteStudent?id=${item.id}">删除</a></td>
</tr>
</c:forEach>
</table>
</body>