【JavaWeb】JSTL标签库
JSTL标签库
JSTL标准标签库;
JSTL用于简化JSP开发,提高代码的可读性与可维护性;
JSTL由SUN(Oracle)定义规范,由Apache Tomcat团队实现;
引用JSTL核心库
- 核心标签库(Core)是JSTL最重要的标签库,提供了JSTL的基础功能
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
- JSTL核心标签库在taglibs-standard-impl.jar由META-INF/c.tld定义
条件判断
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
<%
int x = 15;
request.setAttribute("x", x);
%>
<c:if test="${ requestScope.x > 0 && requestScope.x <= 10 }">
<div style="color:blue;font-weight:bold;">1-10之间的整数</div>
</c:if>
<c:if test="${ requestScope.x > 10 && requestScope.x <= 20 }">
<div style="color:red;font-weight:bold;">11-20之间的整数</div>
</c:if>
</body>
</html>
多重条件判断
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
<c:choose>
<c:when test="${ param.day == 'MONDAY' }">
<h2 style="color:blue;">星期一</h2>
</c:when>
<c:when test="${ param.day == 'TUESDAY' }">
<h2 style="color:blue;">星期二</h2>
</c:when>
<c:when test="${ param.day == 'WEDNESDAY' }">
<h2 style="color:blue;">星期三</h2>
</c:when>
<c:when test="${ param.day == 'THURSDAY' }">
<h2 style="color:blue;">星期四</h2>
</c:when>
<c:when test="${ param.day == 'FRIDAY' }">
<h2 style="color:blue;">星期五</h2>
</c:when>
<c:when test="${ param.day == 'SATURDAY' }">
<h2 style="color:blue;">星期六</h2>
</c:when>
<c:when test="${ param.day == 'SUNDAY' }">
<h2 style="color:blue;">星期日</h2>
</c:when>
<c:otherwise>
<h2 style="color:red;">内容不对哦!</h2>
</c:otherwise>
</c:choose>
</body>
</html>
遍历循环
MonthServlet.java
package jstl;
import java.io.IOException;
import java.util.HashSet;
import java.util.Set;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class MonthServlet
*/
@WebServlet("/month")
public class MonthServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public MonthServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Set<String> setMonths = new HashSet();
setMonths.add("January");
setMonths.add("February");
setMonths.add("March");
setMonths.add("April");
setMonths.add("May");
request.setAttribute("months", setMonths);
request.getRequestDispatcher("/month.jsp").forward(request, response);
}
}
month.jsp
<%@ 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>
<c:forEach items="${requestScope.months }" var="c" varStatus="idx">
<h2>${idx.index + 1} —— ${c }</h2>
</c:forEach>
</body>
</html>
c:out
- 属于核心标签库(Core)
<c:out value="${nothing}" default="无"></c:out>
(nothing=null)将原本为null的值转义为"无"<c:out value="${html}" escapeXml="true"></c:out>
浏览器不进行解释,将html源代码显示
fmt格式化标签库
- fmt格式化标签库URI:
http://java.sun.com/jsp/jstl/fmt
<fmt:formatDate value="" pattern="">
格式化日期标签<fmt:formatNumber value="" pattern="">
格式化数字标签
formatDate pattern
| yyyy | 四位年 |
| ---- | -------- |
| MM | 两位月 |
| dd | 两位日 |
| HH | 24小时制 |
| hh | 12小时制 |
| mm | 分钟 |
| ss | 秒数 |
| SSS | 毫秒 |
formatNumber pattern
- "0.00":保留两位小数
- "0,000.00":三位一分隔,保留两位小数
【JavaWeb】JSTL标签库的更多相关文章
- JavaWeb基础—EL表达式与JSTL标签库
EL表达式: EL 全名为Expression Language.EL主要作用 获取数据(访问对象,访问数据,遍历集合等) 执行运算 获取JavaWeb常用对象 调用Java方法(EL函数库) 给出一 ...
- JavaWeb学习篇之----自定义标签&&JSTL标签库详解
今天来看一下自定义标签的内容,自定义标签是JavaWeb的一部分非常重要的核心功能,我们之前就说过,JSP规范说的很清楚,就是Jsp页面中禁止编写一行Java代码,就是最好不要有Java脚本片段,下面 ...
- JavaWeb学习之JSP常用标签、EL表达式的运算符、JSTL标签库(6)
1.JSP常用标签 * 只要支持JSP文件,常用标签有可以直接使用 * 格式: jsp:xxxx * jsp:forward ,完成jsp页面的转发 * page属性:转发的地址 <% requ ...
- javaweb学习总结(二十八)——JSTL标签库之核心标签
一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 二.JSTL标签库的分类 核心 ...
- JavaWeb总结(七)—JSTL标签库
一.JSTL标签库介绍 JSTL标签库的使用时为了弥补HTML标签的不足,规范自定义标签的使用而诞生的.使用JSTL标签的目的是不希望在JSP中出现Java逻辑代码. 二.JSTL标签库的分类 1.核 ...
- javaWeb学习总结(9)- JSTL标签库之核心标签
一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 二.JSTL标签库的分类 核心 ...
- JavaWeb(五)之JSTL标签库
前言 前面介绍了EL表达式,其实EL表达式基本上是和JSTL核心标签库搭配一起使用才能发挥效果的.接下来让我们一起来认识一下吧! 在之前我们学过在JSP页面上为了不使用脚本,所以我们有了JSP内置的行 ...
- JAVAWEB开发之JSTL标签库的使用、 自己定义EL函数、自己定义标签(带属性的、带标签体的)
JSTL JSTL简单介绍: JSTL的全称:JSP Standard Tag Library,JSP标准标签库 JSTL的作用: 提供给Java Web开发者一个标准通用的标签函数库 和E ...
- JavaWeb学习笔记(九)—— JSTL标签库
一.JSTL概述 1.1 什么是JSTL JSTL是apache对EL表达式的扩展(也就是说JSTL依赖EL),JSTL是标签语言!JSTL标签使用以来非常方便,它与JSP动作标签一样,只不过它不是 ...
随机推荐
- javascript 模块化开发(一)
什么是模块化 将一组模块(及其依赖项)以正确的顺序拼接到一个文件(或一组文件)中的过程. 传统的模块化做法. 模块是实现特定功能的一组属性和方法的封装. 将模块写成一个对象,所有的模块成员都放到这个对 ...
- vue中使用router打开一个新的窗口
一个单页应用打开一个新的窗口不是很好控制,比如权限的处理,因为原先的页面不会自动刷新,方法很简单: let routeData = this.$router.resolve({ name: " ...
- OpenCV:图像的颜色空间转换
导包: import numpy as np import cv2 import matplotlib.pyplot as plt def show(image): plt.imshow(image) ...
- java的异常抛出throws和throw的简单使用
前提: 当在程序测试时,如果你需要定义一个自己的异常,而非现在已经存在的异常,这个时候你需要用到throws和throw,try-catch只是一个简单的捕获异常的过程. 代码如下: package ...
- Python list遍历remove()时的一个小BUG
有这样一个列表: s=list('abcdefg') 现在因为某种原因我们需要从s中踢出一些不需要的元素,方便起见这里直接以踢出所有元素的循环代替: for e in s: s.remove(e) 结 ...
- acwing 66. 两个链表的第一个公共结点
地址 https://www.acwing.com/problem/content/description/62/ 输入两个链表,找出它们的第一个公共结点. 当不存在公共节点时,返回空节点. 样例 给 ...
- CF620C Pearls in a Row
CF620C Pearls in a Row 洛谷评测传送门 题目描述 There are nn pearls in a row. Let's enumerate them with integers ...
- 图片(jpg,png,tif等)批量转dicom(dcm)格式
简介 医学领域专用工具,千金难求,可以批量把jpg.png.bmp.tif图片转换为dicom(dcm)格式,并且保持原有顺序,同时支持嵌入部分重要的dicom元数据,比如:病人姓名,病人生日等. 将 ...
- linux与ubuntu下vsftp的安装使用
vsftp工具是linux与类linux系统上常用的ftp传输工具,按百度上的说法,它的不同点与好处有九点,不明觉厉,有兴趣的可以深入验证: 一.它是一个安全.高速.稳定的FTP服务器: 二.它可以做 ...
- pytest框架之allure报告生成
一.关于安装 allure是跟pytest一起集成使用的,所以需要同时安装pytest以及allure-pytest插件: pip install pytest pip install allure- ...