Java EL表达式取值案例
EL(Expression Language)表达式主要用于JSP页面中,简化数据的访问和操作,以下是一些常用的EL表达式取值案例:

基本语法
EL表达式使用 语法:
${expression}
访问JavaBean属性
假设有一个User类:
public class User {
private String name;
private int age;
// getter/setter方法
}
在JSP中访问:
<%-- 设置属性 --%>
<jsp:useBean id="user" class="com.example.User" />
<jsp:setProperty name="user" property="name" value="张三" />
<%-- 取值 --%>
姓名:${user.name} <%-- 等价于 user.getName() --%>
年龄:${user.age} <%-- 等价于 user.getAge() --%>
访问数组和集合
数组访问
// Servlet中设置
String[] colors = {"红色", "蓝色", "绿色"};
request.setAttribute("colors", colors);
<%-- JSP中取值 --%>
第一个颜色:${colors[0]}
第二个颜色:${colors[1]}
List访问
// Servlet中设置
List<User> userList = new ArrayList<>();
userList.add(new User("张三", 25));
userList.add(new User("李四", 30));
request.setAttribute("userList", userList);
<%-- JSP中取值 --%>
第一个用户:${userList[0].name}
第二个用户年龄:${userList[1].age}
Map访问
// Servlet中设置
Map<String, String> map = new HashMap<>();
map.put("username", "admin");
map.put("password", "123456");
request.setAttribute("map", map);
<%-- JSP中取值 --%>
用户名:${map.username}
密码:${map["password"]} <%-- 两种方式都可以 --%>
访问内置对象
EL提供11个隐式对象:
<%-- 页面范围 --%>
${pageScope.name}
<%-- 请求范围 --%>
${requestScope.name}
<%-- 会话范围 --%>
${sessionScope.name}
<%-- 应用范围 --%>
${applicationScope.name}
<%-- 请求参数 --%>
${param.username}
${paramValues.hobby[0]}
<%-- 请求头 --%>
${header["User-Agent"]}
<%-- Cookie --%>
${cookie.username.value}
<%-- 初始化参数 --%>
${initParam.appName}
运算符使用
<%-- 算术运算 --%>
${3 + 2} <%-- 输出:5 --%>
${5 - 2} <%-- 输出:3 --%>
${4 * 3} <%-- 输出:12 --%>
${10 / 3} <%-- 输出:3.333... --%>
<%-- 比较运算 --%>
${user.age > 18} <%-- 输出:true/false --%>
${user.name == '张三'} <%-- 字符串比较 --%>
<%-- 逻辑运算 --%>
${true && false} <%-- 输出:false --%>
${true || false} <%-- 输出:true --%>
${!true} <%-- 输出:false --%>
<%-- 空值判断 --%>
${empty user} <%-- 判断user是否为null或空 --%>
${not empty userList} <%-- 判断集合是否不为空 --%>
完整示例
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>EL表达式示例</title>
</head>
<body>
<h2>EL表达式取值示例</h2>
<%-- 简单值 --%>
<p>用户名:${param.username}</p>
<%-- 对象属性 --%>
<p>用户姓名:${user.name}</p>
<p>用户年龄:${user.age}</p>
<%-- 集合数据 --%>
<p>颜色列表:${colors[0]}、${colors[1]}</p>
<%-- 条件判断 --%>
<p>是否成年:${user.age >= 18 ? "是" : "否"}</p>
<%-- 运算结果 --%>
<p>算术运算:${10 + 20}</p>
<%-- 为空判断 --%>
<p>用户列表是否为空:${empty userList}</p>
</body>
</html>
注意事项
- 作用域查找顺序:pageScope → requestScope → sessionScope → applicationScope
- 避免直接访问敏感数据:如密码等
- 注意空指针异常:使用
empty操作符进行判断 - EL默认开启:若需禁用,可在page指令中设置
isELIgnored="true"
这些案例涵盖了EL表达式的主要使用场景,可以根据实际需求灵活运用。
版权声明:足球直播
足球直播
足球直播
足球直播
足球直播
中超直播
中超直播
中超直播
中超直播
中超直播
英超直播
英超直播
英超直播
英超直播
英超直播
德甲直播
德甲直播
德甲直播
德甲直播
德甲直播
西甲直播
西甲直播
西甲直播
西甲直播
西甲直播
意甲直播
意甲直播
意甲直播
意甲直播
意甲直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
足球直播
足球直播
足球直播
足球直播
足球直播
中超直播
中超直播
中超直播
中超直播
中超直播
英超直播
英超直播
英超直播
英超直播
英超直播
德甲直播
德甲直播
德甲直播
德甲直播
德甲直播
西甲直播
西甲直播
西甲直播
西甲直播
西甲直播
意甲直播
意甲直播
意甲直播
意甲直播
意甲直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
足球直播
足球直播
足球直播
足球直播
足球直播
中超直播
中超直播
中超直播
中超直播
中超直播
英超直播
英超直播
英超直播
英超直播
英超直播
德甲直播
德甲直播
德甲直播
德甲直播
德甲直播
西甲直播
西甲直播
西甲直播
西甲直播
西甲直播
意甲直播
意甲直播
意甲直播
意甲直播
意甲直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播