EL:
EL(Expression Language 表达式语言)定义了一系列隐含对象和操作符,无须Java代码即可方便地访问pageContext、request、session、application作用域中的对象。
用jstl 要写
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> //方法
- EL表达式显示数据
-
- 自定义类型
a、在页面中要显示的自定义类成员变量必须要有getter;
b、如何显示:${key(setAttribute中的key).成员变量名}
-
- 集合或数组
List
数组
Set集合:无法获取单个元素,但可以使用<c:forEach></c:forEach>遍历set集合中元素。
Map集合
2.EL表达式 方法一<hr>
<!-- 常用类型 -->
姓名:${user.name }
<!-- 引用类型 -->
课程名:${user.course.courseName}
<br>
3.EL表达式方法二<hr>
<!-- ${对象名["属性名"/绑定名/下标]} -->
姓名:${user["name"] }<br>
<%request.setAttribute("userName", "name"); %>
姓名:${user[userName] }<br>
爱好:${user.interest[0] }<br>
<
- EL表达式中的运算符
- 算数运算符
运算符号:+、-、*、/或div(没有按照最高精度保留结果的特点)、%或mod
注意:单引号和双引号都可以。
-
- 关系运算符
运算符符号:= =或eq、!=或ne、<或lt(即less than)、>或gt(即great than)、<= 或 le、>= 或 ge
-
- 逻辑运算符
运算符符号:&& 或 and、|| 或 or、! 或 not(注意:只能对boolean型数据运算)
<body>
if标签:<hr>
姓名:<p>${emp.name }</p>
性别:<C:if test="${emp.gender=='f' }" >女</C:if><br>
年龄:<C:if test="${emp.age>=18 }" var="cn" scope="request">${emp.age} 成年了</C:if>
<C:if test="${!cn }">${emp.age} 还没成年</C:if>
<br>
choose标签<hr>
<C:choose>
<C:when test="${emp.gender=='f' }">女</C:when>
<C:when test="${emp.gender=='n' }">男</C:when>
</C:choose>
<br>
foreach标签<hr>
一:<br>
<%
List<Emp> emps = new ArrayList<Emp>();
Emp emp1 = new Emp();
emp1.setAge(18);
emp1.setGender("n");
emp1.setName("yzx");
emps.add(emp1);
emps.add(e);
request.setAttribute("emps", emps);
%>
<C:forEach var="emp" items="${emps }">
姓名:${emp.name }<br>
性别:${emp.gender }
年龄:${emp.age }
</C:forEach>
</body>