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标签库(二)的更多相关文章

  1. JSP、EL表达式、JSTL标签库干货(建议收藏)

    JSP(Java Server Pages)类似于ASP技术,它是在传统的网页HTML文件(.htm,.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件, ...

  2. Struts标签、Ognl表达式、el表达式、jstl标签库这四者之间的关系和各自作用

    我之前虽然会用,但是一直分不清彼此之间有什么区别,所以查找资料,将它们进行整合区分,加深了解, 一 介绍 1.Struts2的作用   Struts2标签库提供了主题.模板支持,极大地简化了视图页面的 ...

  3. Java实战之04JavaWeb-04JSP、EL表达式、JSTL标签库

    一.jsp部分 只要是与页面显示相关的都是重点 1.jsp的脚本 <%java代码%>:被翻译到service方法内部,局部变量,局部的功能 <%=表达式或变量%>:翻译成se ...

  4. EL表达式、JSTL标签库

    一.EL(Expression Language)表达式 语法结构:${var} 若要停用对EL表达式的评估的话,需要使用page指令将isELIgnored属性值设为true: <%@ pag ...

  5. Java第三阶段学习(十四、JSP动态页面、EL表达式、JSTL标签库)

    一.JSP技术 1.jsp脚本和注释 jap脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部,比如写在doget.dopost 内的代码 2) ...

  6. 个人整理的jsp、EL表达式、JSTL标签库的笔记,少概念多实用,需要的留下邮箱,会第一时间分享原稿PDF给大家!

    jsp 第一章 jsp介绍及对比servlet 作用: 动态网页技术,动态的从数据库获取数据 jsp和servlet的优缺点: jsp优点:页面表现方便,利于写html代码 jsp缺点:业务逻辑处理麻 ...

  7. EL表达式和JSTL标签库

    expresion language表达式语言 可以输出表达式的值.跟jsp的表达式脚本一样.计算表达式的值后输出.  EL表达式出现的目的是为了使JSP写起来更加简单,让jsp的代码更佳简化. 1. ...

  8. JavaWeb基础—EL表达式与JSTL标签库

    EL表达式: EL 全名为Expression Language.EL主要作用 获取数据(访问对象,访问数据,遍历集合等) 执行运算 获取JavaWeb常用对象 调用Java方法(EL函数库) 给出一 ...

  9. jsp页面使用EL表达式 使用Jstl标签库中的标签,需要引入jstl.jar和standard.jar

    spring boot 中使用jstl 首先在pom中加入 <dependency> <groupId>jstl</groupId> <artifactId& ...

随机推荐

  1. Type反射遍历类的属性

    <?xml version="1.0" encoding="utf-8" ?> <configuration> <startup& ...

  2. 生成静态libevent

    INCLUDE C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include D:\vs2013\VC\include LIB C:\Prog ...

  3. ABC065D Built[最小生成树]

    这题和某道最短路题神似.对于任意点对,将他们连边,不如将他们分别沿$x,y$轴方向上点按顺序连起来,这样不仅可能多连通一些点,也花费更低,所以按照最短路那题的连边方式跑一个kruskal就行了. #i ...

  4. vmware centos 桥接和NAT的IP配置

    先初始化VM, 桥接模式: [root@out network-scripts]# cat ifcfg-ens33 TYPE=EthernetBOOTPROTO=staticDEFROUTE=yesP ...

  5. 【Maven】-maven打包跳过javadoc

    有时候由于代码中注释错误(比如方法参数)或者maven javadoc插件版本有问题,导致打包报错,而我们着急打包验证问题,没有时间一一修改错误,这时候可以先跳过生成javadoc,继续下一步工作. ...

  6. php大文件传输断点续传源码

    1.使用PHP的创始人 Rasmus Lerdorf 写的APC扩展模块来实现(http://pecl.php.net/package/apc) APC实现方法: 安装APC,参照官方文档安装,可以使 ...

  7. reactjs 项目使用 iconfont 小图标以及使用带颜色 inconfont 小图标

    在 reactjs 项目中是所有小图标目前主要分为两类使用方式,第一类通过 CSS 引入的方式使用,第二类使用 JS 的方式引入使用. 注册-登录-建立项目-选中图标添加到购物车-添加至项目-下载到本 ...

  8. 两列布局实现各自独立滚屏,类似与 scrollNav 的功能。

    现在移动端 web 开发越来越靠近 app 的功能.所以两列布局各自都能实现独立滚动也常见.基于固定侧边栏导航,另一侧实现内容展示. 这个功能的核心在于使用 vh 单位. 其中 CSS 的代码是核心点 ...

  9. Spring Boot教程(三十五)使用MongoDB数据库(1)

    MongoDB简介 MongoDB是一个基于分布式文件存储的数据库,它是一个介于关系数据库和非关系数据库之间的产品,其主要目标是在键/值存储方式(提供了高性能和高度伸缩性)和传统的RDBMS系统(具有 ...

  10. LeetCode---Sort && Segment Tree && Greedy

    307. Range Sum Query - Mutable 思路:利用线段树,注意数据结构的设计以及建树过程利用线段树,注意数据结构的设计以及建树过程 public class NumArray { ...