EL表达式与JSTL标签库(二)
1、JSTL标签库
| 标签库 | 作用 | URI | 前缀 |
| 核心 | 包含Web应用的常见工作,如循环、输入输出等 | http://java.sun.com/jsp/jstl/core | c |
| 国际化 | 语言区域、消息、数字和日期格式化 | http://java.sun.com/jsp/jstl/fmt | fmt |
2、Core标签库
核心标签库分四类:
- 多用途核心标签。<c:out>、<c:set>、<c:remove>、<c:catch>
- 条件控制标签。<c:if>、<c:choose>、<c:when>、<c:otherwise>
- 循环控制标签。<c:forEach>、<c:forTokens>
- URL相关标签。<c:import>、<c:url>、<c:redirect>、<c:param>
3、<c:if>
| 属性 | 描述 |
| test | 需要判断条件 |
| var | 保存判断结果的变量名,该变量的值为true或false |
| scope | 变量的作用域,默认为page |
4、<c:forEach>
| 属性 | 描述 |
| begin | 开始条件,如果指定items,循环将从begin指定的索引处开始。 |
| end | 结束索引,如果指定items,循环将从end指定索引处结束。 |
| step | 循环的步长,默认为1 |
| items | 遍历的集合对象 |
| var | 循环集合元中的素的变量名 |
| varStatus | 保存循环状态的变量 |
5、简单应用
jsp页面对标签库的引用需要提供jstl的jar包,jar包官方网页版说明如下图示,也可以参考帖子https://blog.csdn.net/qq_32115439/article/details/54685786

package com.alphajuns.domain;
public class Book {
private Integer id;
private String name;
private String author;
public Book() {
super();
}
public Book(Integer id, String name, String author) {
super();
this.id = id;
this.name = name;
this.author = author;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
}
package com.alphajuns.controller; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import com.alphajuns.domain.Book; @Controller
public class TestController { @RequestMapping(value="/forEachTest", method=RequestMethod.GET)
public String registerForm(Model model) {
// 页面用于遍历的List集合
List<String> strList = new ArrayList<String>();
strList.add("JavaEE");
strList.add("Mybatis");
strList.add("Spring");
// 页面用于遍历的List集合
List<Book> bookList = new ArrayList<Book>();
bookList.add(new Book(1, "Spring实战", "Craig Walls"));
bookList.add(new Book(2, "疯狂Java讲义", "李刚"));
bookList.add(new Book(3, "通信原理", "樊昌信"));
bookList.add(new Book(4, "计算机网络", "谢希仁"));
bookList.add(new Book(5, "现代交换原理", "吕瑞宏"));
// 定义map
Map<Integer, Book> bookMap = new HashMap<Integer, Book>();
bookMap.put(1, new Book(1, "C语言程序设计", "谭浩强"));
bookMap.put(2, new Book(2, "数据结构", "严蔚敏"));
bookMap.put(3, new Book(3, "模拟电子技术", "童诗白"));
model.addAttribute("strList", strList);
model.addAttribute("bookList", bookList);
model.addAttribute("bookMap", bookMap);
return "forEachTest";
} }
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<font color="red">普通循环</font>
<table width="400" border="1px" cellspacing="0" cellpadding="0">
<tr>
<td>index</td><td>count</td><td>isFirst</td><td>isLast</td>
</tr>
<c:forEach begin="1" end="5" step="2" varStatus="vs">
<tr>
<td>${vs.index }</td>
<td>${vs.count }</td>
<td>${vs.first }</td>
<td>${vs.last }</td>
</tr>
</c:forEach>
</table>
<br> <font color="red">遍历元素为String的List集合</font>
<table width="400" border="1px" cellspacing="0" cellpadding="0">
<tr>
<td>编号</td><td>书名</td><td>作者</td>
</tr>
<c:forEach items="${requestScope.bookList }" var="book">
<tr>
<td>${book.id }</td>
<td>${book.name }</td>
<td>${book.author }</td>
</tr>
</c:forEach>
</table>
<br> <font color="red">遍历Map集合</font>
<table width="400" border="1px" cellspacing="0" cellpadding="0">
<tr>
<td>Key</td><td>编号</td><td>书名</td><td>作者</td>
</tr>
<c:forEach items="${requestScope.bookMap }" var="entry">
<tr>
<td>${entry.key }</td>
<td>${entry.value.id }</td>
<td>${entry.value.name }</td>
<td>${entry.value.author }</td>
</tr>
</c:forEach>
</table>
</body>
</html>

EL表达式与JSTL标签库(二)的更多相关文章
- JSP、EL表达式、JSTL标签库干货(建议收藏)
JSP(Java Server Pages)类似于ASP技术,它是在传统的网页HTML文件(.htm,.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件, ...
- Struts标签、Ognl表达式、el表达式、jstl标签库这四者之间的关系和各自作用
我之前虽然会用,但是一直分不清彼此之间有什么区别,所以查找资料,将它们进行整合区分,加深了解, 一 介绍 1.Struts2的作用 Struts2标签库提供了主题.模板支持,极大地简化了视图页面的 ...
- Java实战之04JavaWeb-04JSP、EL表达式、JSTL标签库
一.jsp部分 只要是与页面显示相关的都是重点 1.jsp的脚本 <%java代码%>:被翻译到service方法内部,局部变量,局部的功能 <%=表达式或变量%>:翻译成se ...
- EL表达式、JSTL标签库
一.EL(Expression Language)表达式 语法结构:${var} 若要停用对EL表达式的评估的话,需要使用page指令将isELIgnored属性值设为true: <%@ pag ...
- Java第三阶段学习(十四、JSP动态页面、EL表达式、JSTL标签库)
一.JSP技术 1.jsp脚本和注释 jap脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部,比如写在doget.dopost 内的代码 2) ...
- 个人整理的jsp、EL表达式、JSTL标签库的笔记,少概念多实用,需要的留下邮箱,会第一时间分享原稿PDF给大家!
jsp 第一章 jsp介绍及对比servlet 作用: 动态网页技术,动态的从数据库获取数据 jsp和servlet的优缺点: jsp优点:页面表现方便,利于写html代码 jsp缺点:业务逻辑处理麻 ...
- EL表达式和JSTL标签库
expresion language表达式语言 可以输出表达式的值.跟jsp的表达式脚本一样.计算表达式的值后输出. EL表达式出现的目的是为了使JSP写起来更加简单,让jsp的代码更佳简化. 1. ...
- JavaWeb基础—EL表达式与JSTL标签库
EL表达式: EL 全名为Expression Language.EL主要作用 获取数据(访问对象,访问数据,遍历集合等) 执行运算 获取JavaWeb常用对象 调用Java方法(EL函数库) 给出一 ...
- jsp页面使用EL表达式 使用Jstl标签库中的标签,需要引入jstl.jar和standard.jar
spring boot 中使用jstl 首先在pom中加入 <dependency> <groupId>jstl</groupId> <artifactId& ...
随机推荐
- Windows 端口占用查询
1.Windows平台 在windows命令行窗口下执行: 1.查看所有的端口占用情况 C:\>netstat -ano 协议 本地地址 外部地址 ...
- JavaScript柯里化(currying)
参考: https://www.jianshu.com/p/33392cb4b055 https://ruby-china.org/topics/38385 https://stackoverflow ...
- @Mapper和@Repository
参考地址 https://www.cnblogs.com/jtfr/p/10962205.html 相同点 两者都是作用于dao上 不同点 @Repository需要在Spring中配置扫描地址,然后 ...
- flutter 记录正则匹配
手机号正则匹配: // 正则匹配 static bool isChinaPhoneLegal(String str) { return new RegExp('^((13[0-9])|(15[^4]) ...
- Winforms界面开发DevExpress v19.2:Map、Pivot Grid等功能增强
DevExpress Winforms Controls 内置140多个UI控件和库,完美构建流畅.美观且易于使用的应用程序.无论是Office风格的界面,还是分析处理大批量的业务数据,DevExpr ...
- ScrollViewer控件
内容超过空间,出现滚动条. <Grid> <ScrollViewer Margin="5" VerticalScrollBarVisibility="A ...
- vue模板语法上集
模板语法上集 1.1 插值 1.1.1 文本 {{msg}} 1.1.2 html 使用v-html指令用于输出html代码 1.1.3 属性 HTML属性中的值应使用v-bind指令 1.1.4 表 ...
- vue中使用laydate.js插件
1.到官网下载laydate.js https://www.layui.com/laydate/ 2.下载好后,将包解压好放在index.html同级的地方.我是在public中建立个statick文 ...
- codeforces271D
Good Substrings CodeForces - 271D 给你一个只包含小写字母的字符串s.问你在这个字符串中有多少个不同的子串.且要求这些子串中不得出现超过k个的特殊字母.*子串s1和子串 ...
- JavaWeb-SpringBoot_(下)腾讯云点播服务之视频的显示-demo
腾讯视频云点播 传送门 项目在腾讯云点播服务之视频的上传(上)[附源码]的基础上添加了两个html页面 此视频 播放传送门 (播放视频GIF会超过10M...) package com.Gary.v ...