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. c++第四次作业:类的继承

    一.定义 类的继承:是从新的类从已有类那里得到已有的特性. 二.方式 1.公有继承:当类的继承方式为公有继承时,基类的公有成员和保护成员的访问属性在派生类中不变,而基类的私有成员不可直接访问. 例: ...

  2. selenium+chromedriver+python3 不加载图片

    from selenium import webdriver chrome_options = webdriver.ChromeOptions() prefs={} chrome_opt.add_ex ...

  3. K nearest neighbor cs229

    vectorized code 带来的好处. import numpy as np from sklearn.datasets import fetch_mldata import time impo ...

  4. 代理模式-aop

    https://www.jianshu.com/p/a82509c4bb0d 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期 ...

  5. CA认证和证书

    一些概念: PKI:Public Key Infrastructure 签证机构:CA(Certificate Authority) 注册机构:RA(Register Authority) 证书吊销列 ...

  6. mysqldump 使用--tab=path参数时提示mysqldump: Got error: 1290: The MySQL server is running with the --secure-file-priv option so it cannot execute this statement when executing 'SELECT INTO OUTFILE'

    报错: [root@zedu test]# mysqldump -h127.0.0.1 -uroot -p --single-transaction --add-drop-database --tab ...

  7. 问题[scrapy.spidermiddlewares.offsite] DEBUG: Filtered offsite request to...

    原因是二次解析的域名被过滤掉了, 解决办法 解决办法一: yield scrapy.Request(url=detail_url, meta={'item': item}, callback=self ...

  8. C# 计算小数

    private void button2_Click(object sender, EventArgs e) { ; List<string> list = new List<str ...

  9. fiddler(四)、断点(转)

    前言 先给大家讲一则小故事,在我们很小的时候是没有手机的,那时候跟女神聊天都靠小纸条.某屌丝A男对隔壁小王的隔壁女神C倾慕已久,于是天天小纸条骚扰,无奈中间隔着一个小王,这样小王就负责传小纸条了.有一 ...

  10. 「CF442C」 Artem and Array

    题目链接 戳我 \(Solution\) 观察发现如果一个数两边都比他大,删掉他可以保证最优,这个应该是显然的.这个东西用单调栈维护一下,最后剩下的就是个单调递减或单调递增的数列,从小到大排个序取前面 ...