EL表达式
EL是JSP 2.0增加的技术规范,其全称是表达式语言(Expression Language)。EL语言是一种在页面中访问数据的语言,简洁,易于维护。
1.EL语法
在JSP中访问模型对象是通过EL表达式的语法来表达。所有EL表达式的格式都是以“${}”表示。
例如,${ userinfo}代表获取变量userinfo的值。
2.EL表达式访问,PageContext,Request,Session,Application中的对象
页面中有四个范围(scope),分别是pageScope页面范围,requestScope请求范围,sessionScope会话范围,applicationScope服务器范围
示例:先创建一个Servlet,在上述四个范围中存入数据,转发到index.jsp页面
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 java.io.IOException;
@WebServlet(name = "DataServlet",urlPatterns = "/data")
public class DataServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//存数据
request.setAttribute ("a","个人练习生");
request.setAttribute ("b","蔡徐坤");
request.setAttribute ("c","鸡你太美");
request.getSession ().setAttribute ("a","个人练习生");
request.getSession ().setAttribute ("b","蔡徐坤");
request.getSession ().setAttribute ("c","鸡你太美");
request.getServletContext ().setAttribute ("a","个人练习生");
request.getServletContext ().setAttribute ("b","蔡徐坤");
request.getServletContext ().setAttribute ("c","鸡你太美");
//转发
request.getRequestDispatcher ("/index.jsp").forward (request,response);
}
}
在index.jsp页面中使用范围取值的EL表达式 :
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<h3>获取request中的常量</h3>
<h4>
a:${requestScope.a}<br/>
b:${requestScope.b}<br/>
c:${requestScope.c}<br/>
</h4>
<h3>获取Session中的常量</h3>
<h4>
a:${sessionScope.a}<b