JSP四:EL表达式
时间:2022-07-22
本文章向大家介绍JSP四:EL表达式,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
看笔记之前,请确保你有一定的基础,推荐先看我博客的前几个关于JSP的笔记。自认为非常详细和易懂。
JSTL
JSP Standard Tag Library JSP 标准标签库,JSP 为开发者提供的⼀系列的标签,使⽤这些标签可以完成 ⼀些逻辑处理,比如循环遍历集合,让代码更加简洁,不再出现 JSP 脚本穿插的情况。 实际开发中 EL 和 JSTL 结合起来使用,JSTL 侧重于逻辑处理,EL负责展示数据。
使用
- 1、需要导⼊ jar 包(两个 jstl.jar standard.jar)存放的位置 web/WEB-INF/lib
- 下载地址:http://mirrors.hust.edu.cn/apache/
- 2、在 JSP 页面最上面引入 JSTL 标签库
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
演示
forEach遍历
我们写一个Servlet类,路径映射为jstl,里面设置一个集合。最后用JSTL中的forEach去遍历出来
public class User {
private String name;
private Integer age;
private String city;
public User(String name, Integer age, String city) {
this.name = name;
this.age = age;
this.city = city;
}
@Override
public String toString() {
return "User{" +
"name='" + name + ''' +
", age=" + age +
", city='" + city + ''' +
'}';
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
}
@WebServlet("/jstl")
public class Jstl extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
List<User> list = new ArrayList<>();
list.add(new User("乐",18,"广东"));
list.add(new User("心",19,"广东"));
list.add(new User("湖",20,"广东"));
req.setAttribute("users",list);
req.getRequestDispatcher("jstl.jsp").forward(req,resp);
}
}
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<table>
<tr>
<th>名字</th>
<th>年龄</th>
<th>地方</th>
</tr>
<c:forEach items="${users}" var="user">
<tr>
<td>${user.name}</td>
<td>${user.age}</td>
<td>${user.city}</td>
</tr>
</c:forEach>
</table>
</body>
</html>
其他常用标签
set、out、remove、catch
- silverlight:telerik RadControls中RadGridView的一个Bug及解决办法
- scope引起的问题
- JS正则表达式常用函数汇总
- 修改(同步)linux时间
- “爬虫”程序吃掉低价机票 高科技“黄牛”怎么破?
- javascript:json数据的页面绑定
- “刷脸”就可购物 全国首家人脸智慧时尚店亮相深圳
- testng-result中文乱码问题
- mac下环境变量、maven3.1.1 及 jdk1.7.0.45配置
- 高通获准在加州测试无人驾驶技术:车上要有司机
- 机器人产业链分析-机器人基本知识
- postman也可以使用F12功能
- 掌握机器学习数学基础之概率统计(二)
- 终于有招了,微信免费提现!这下可以省不少钱
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Chrome 插件开发-桌面通知设置实战演示,设置通知显示、存在时间
- Python 技术篇-通过进程名称、PID杀死windows进程的两种方法,获取当前运行程序的pid
- MySQL 切换数据库、用户卡死:“You can turn off this feature to get a quicker startup with -A“处理方法
- MySQL 数据库mysqlbinlog使用问题:unknown variable ‘default-character-set=utf8‘.解决方法
- Python 技术篇-pip安装提示:‘pip‘ 不是内部或外部命令,也不是可运行的程序或批处理文件,问题解决方法
- Jaskson精讲第6篇-自定义JsonSerialize与Deserialize实现数据类型转换
- let和var和const
- Jupyter 编写python代码实现代码自动补齐功能设置实例演示
- 第37期:从头学二叉搜索树(面试常考)
- Jupyter 工具的安装与使用方法,jupyter运行python代码演示,好用的python编辑器推荐!
- Nginx相关配置与操作
- Python 技术篇-全局与当前socket超时连接时间设置方法实例演示,查看socket超时连接时间
- 给 JDK 报了一个 P4 的 Bug,结果居然……
- Python 套接字-判断socket服务端有没有关闭的方法实例演示,查看socket运行状态
- docker安装logstash