EL表达式(Expression Language)
作用:简化页面获取方式与输出还可以做简单的运算
写法:
${绑定名}
${绑定名.属性名}
${绑定名[下标]}
${绑定名[‘key’]}
运算符:
+ - * / %
> >= < <= == !=
and or && || !
empty 是否为空,如果为空则为true否则为false
表达式1?表达式2:表达式3
package com.bucishu.eiservlet;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.bucishu.entity.User;
@WebServlet("/elDemo")
public class ElDemoServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 解决中文乱码
req.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
//绑定字符串
req.setAttribute("str", "你好");
//绑定一个User对象
User u = new User("哈哈", "666", "女", "demo.jpg", new Date());
req.setAttribute("user", u);
//绑定集合
List<User> list = new ArrayList<User>();
User u1 = new User("哈哈1", "6661", "女", "demo1.jpg", new Date());
list.add(u);
list.add(u1);
req.setAttribute("list",list);
//绑定Map
Map<String,String> map = new HashMap<String,String>();
map.put("username", "卡拉OK");
req.setAttribute("map", map);
req.getRequestDispatcher("elDemo.jsp").forward(req, resp);
}
}
el表达式演示页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
基本运算:${1+1}<br/>
关系运算:${1>2}<br/>
逻辑运算:${1>2 or 2<3}
${1>2 and 2<3}
${1>2 && 2<3}
${1>2 || 2<3}
<br/>
三元运算:${1>2?'呵呵':'哈哈'} <br/>
为空判断:${empty user}
<hr/>
字符串:${str}<br/>
user对象的账号:${user.uname}<br/>
user对象的密码:${user.upwd}<br/>
list集合中第二个对象的账号值:${list[1].uname}<br/>
map中username的值:${map['username']}
</body>
</html>