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& ...
随机推荐
- .NET 树型递归
/// <summary> /// 获取全部水价标准模型 /// </summary> /// <returns></returns> public I ...
- oracle学习1 基于oracle数据库的PLSQL编程以及存储过程的创建和使用视频
https://www.bilibili.com/video/av46777605 plsql中选择testWindow中可以进行测试 1.编写函数在plsql的testwindow中 begin d ...
- phpMyAdmin出现Fatal error: Maximum execution time of 300 seconds
在mysql用phpMyAdmin导入大数据的时候出现:Fatal error: Maximum execution time of 300 seconds exceeded in D:/查了很多文章 ...
- python+Appium自动化:Capability配置简介
Capability配置简介 desired capability的功能是配置Appium会话. Desired Capabilities是一组设置的键值对的集合,其中键对应设置的名称,而值对应设置的 ...
- 在MariaDB导入sql文件出现乱码解决方案
第一方式: 命令: mysql -u(用户名) -p --default-character-set=utf8(设置编码) data_name(数据库名)<文件路径 示例: 这时,会有一个假死的 ...
- Hadoop下MapReduce实现Pi值的计算
Hadoop自带的例子中,有一个计算Pi值的例子. 这个程序的原理是这样的.假如有一个边长为1的正方形.以正方形的一个端点为圆心,以1为半径,画一个圆弧,于是在正方形内就有了一个直角扇形.在正方形里随 ...
- hdu 6059 Kanade's trio
题 OwO http://acm.hdu.edu.cn/showproblem.php?pid=6059 解 由于每个数字最多是30位,枚举数字每一位考虑, 建一棵记录前缀(位的前缀,比如10拆成10 ...
- electron-vue [Vue warn]: Failed to resolve directive: decorator
electron-vue引入ant-desigin-vue使用ant自定义指令 v-decorator报销 <a-form-item> <a-input v-decorator=&q ...
- Python之multiprocessing模块的使用
作用:Python多进程处理模块,解决threading模块不能使用多个CPU内核,避免Python GIL(全局解释器)带来的计算瓶颈. 1.开启多进程的简单示例,处理函数无带参数 #!/usr/b ...
- jquery reset选择器 语法
jquery reset选择器 语法 作用::reset 选择器选取类型为 reset 的 <button> 和 <input> 元素.直线电机滑台 语法:$(":r ...