动态网站开发讲课笔记10:EL和JSTL
一、EL
1、EL的概念
- EL全称为Expression Language,即表达式语言。它是JSP 2.0引入的一个新内容。EL可以简化JSP开发中的对象引用,从而规范页面代码,增加程序的可读性及可维护性。EL为不熟悉Java语言页面开发的人员提供了一个开发JavaWeb应用的新途径。
2、EL的语法
- EL的语法非常简单,都是以“
”符号开始,以“”符号结束的语法格式:
{”符号开始,以“}”符号结束的 语法格式:
”符号开始,以“”符号结束的语法格式:{表达式}
“ 表达式”中的表达式必须符合 E L 语法要求。由于 E L 的语法以“ {表达式}”中的表达式必须符合EL语法要求。 由于EL的语法以“ 表达式”中的表达式必须符合EL语法要求。由于EL的语法以“{" 开头,如果在JSP网页中要显示“${“字符串,必须在前面加上“\”符号,即“${”,或者写成“KaTeX parse error: Expected '}', got 'EOF' at end of input: {{}“, 也就是用表达式输出“${” 符号。
3、案例演示
(1)用EL读取保存的信息
-
创建Java Enterprise项目 - ELJSTLDemo
-
修改Artifact名称
-
重新部署项目
-
修改首页
-
启动服务器,查看结果
-
创建net.hdl.servlet包,在包里创建ServletDemo01类
package net.hdl.servlet;
import javax.servlet.RequestDispatcher;
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;
/**
* 功能:保存request属性,请求转发到指定页面
* 作者:胡德兰
* 日期:2023年04月20日
*/
@WebServlet(name = "ServletDemo01", urlPatterns = "/demo01")
public class ServletDemo01 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 保存request属性
request.setAttribute("username", "无心剑");
request.setAttribute("password", "903213");
// 获取请求转发器,转发到`demo01.jsp`页面
RequestDispatcher dispatcher = request.getRequestDispatcher("/demo01.jsp");
// 请求转发
dispatcher.forward(request, response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
}
- 在web目录里创建demo01.jsp页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>demo01</title>
</head>
<body>
使用JSP表达式获取属性:<br />
用户名:<%=request.getAttribute("username")%> <br />
密码:<%=request.getAttribute("password")%> <br />
<hr />
使用EL获取属性:<br />
用户名:${username} <br />
密码:${password} <br />
</body>
</html>
- 启动服务器
二、EL中的标识符
- 目标:熟悉EL中的标识符
1、EL中标识符的规范
- 在EL中,经常需要使用一些符号标记一些名称,如变量名、自定义函数名等,这些符号被称为标识符。EL中的标识符可以由任意的大小写字母、数字和下划线组成,为了避免出现非法的标识符,在定义标识符时还需要遵循以下规范。
- (1)不能以数字开头。
- (2)不能是EL中的关键字,如and、or、gt等。
- (3)不能是EL隐式对象,如pageContext。
- (4)不能包含单引号(')、双引号(")、减号(-)和正斜线(/)等特殊字符。
2、EL中标识符的示例
(1)合法标识符
username
username123
user_name
_userName
- (2)非法标识符
123username
or
user"name
pageContext
三、EL中的关键字
- 目标:熟悉EL中的关键字
- 关键字就是编程语言里事先定义好并赋予了特殊含义的单词,和其他语言一样,EL中也定义了许多关键字,如false、not等。
- EL所有的关键字
1 | 2 | 3 | 4 |
---|---|---|---|
and | eq | gt | true |
instanceof | or | ne | le |
false | empty | not | lt |
ge | null | div | mod |
上一篇: chatgpt赋能p
下一篇: 文库网站PHP开发会