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

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

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

  2. JavaWeb学习篇之----自定义标签&&JSTL标签库详解

    今天来看一下自定义标签的内容,自定义标签是JavaWeb的一部分非常重要的核心功能,我们之前就说过,JSP规范说的很清楚,就是Jsp页面中禁止编写一行Java代码,就是最好不要有Java脚本片段,下面 ...

  3. JavaWeb学习之JSP常用标签、EL表达式的运算符、JSTL标签库(6)

    1.JSP常用标签 * 只要支持JSP文件,常用标签有可以直接使用 * 格式: jsp:xxxx * jsp:forward ,完成jsp页面的转发 * page属性:转发的地址 <% requ ...

  4. javaweb学习总结(二十八)——JSTL标签库之核心标签

    一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 二.JSTL标签库的分类 核心 ...

  5. JavaWeb总结(七)—JSTL标签库

    一.JSTL标签库介绍 JSTL标签库的使用时为了弥补HTML标签的不足,规范自定义标签的使用而诞生的.使用JSTL标签的目的是不希望在JSP中出现Java逻辑代码. 二.JSTL标签库的分类 1.核 ...

  6. javaWeb学习总结(9)- JSTL标签库之核心标签

    一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 二.JSTL标签库的分类 核心 ...

  7. JavaWeb(五)之JSTL标签库

    前言 前面介绍了EL表达式,其实EL表达式基本上是和JSTL核心标签库搭配一起使用才能发挥效果的.接下来让我们一起来认识一下吧! 在之前我们学过在JSP页面上为了不使用脚本,所以我们有了JSP内置的行 ...

  8. JAVAWEB开发之JSTL标签库的使用、 自己定义EL函数、自己定义标签(带属性的、带标签体的)

    JSTL  JSTL简单介绍: JSTL的全称:JSP Standard Tag Library,JSP标准标签库 JSTL的作用:   提供给Java Web开发者一个标准通用的标签函数库   和E ...

  9. JavaWeb学习笔记(九)—— JSTL标签库

    一.JSTL概述 1.1 什么是JSTL  JSTL是apache对EL表达式的扩展(也就是说JSTL依赖EL),JSTL是标签语言!JSTL标签使用以来非常方便,它与JSP动作标签一样,只不过它不是 ...

随机推荐

  1. django js 实现表格动态标序号

    <table class="table table-striped"> <thead> <tr class="key_words_head& ...

  2. Java 反射机制 初探*

    反射机制初探 * 走进沼泽 在正常的程序中,先有类,然后再有对象. 取得Class对象(类对象) public final Class<?> getClass() ; 实例观察: publ ...

  3. May 19th, 2019. Week 21st, Sunday

    Fight for what matters to you. 为自己珍视的东西奋斗吧! We all want to make our life goals true, and we all expe ...

  4. elementui入门以及nodeJS环境搭建

    1. ElementUI简介 我们学习VUE,知道它的核心思想式组件和数据驱动,但是每一个组件都需要自己编写模板,样式,添加事件,数据等是非常麻烦的, 所以饿了吗推出了基于VUE2.0的组件库,它的名 ...

  5. React 修改获取state中的值

    14===> 修改state中的值 不能够直接修改 state = { num: 10 } 如 this.state.num+=12; 不能够直接修改 错误 通过 this.setState({ ...

  6. 《专访 RocketMQ 联合创始人:项目思路、技术细节和未来规划》

    专访 RocketMQ 联合创始人:项目思路.技术细节和未来规划   木环 阅读数:138092017 年 2 月 20 日 18:00   编者按 这些年开源氛围越来越好,各大 IT 公司都纷纷将一 ...

  7. 给Java0基础的五个学习的思路?

    关于Java初学者来说,想学习Java教程,需求了解,根底打好才干学得更好,Java教程之学习Java的路线图的五个必经阶段,希望能对Java学习者有所帮忙. 第一个阶段-java根底阶段 1.jav ...

  8. WindowsOS下Nginx+PHP环境配置

    Nginx 配置虚拟主机 在conf目录中的nginx.conf中最后一行前面加上 include vhost/*.conf; 在conf目录中添加一个文件夹vhost(此文件夹用来保存Nginx虚拟 ...

  9. webpack打包优化实践

    事情缘由 近段时间在做基于scratch3.0的改造项目.基于scratch-gui改造,项目本身已经很大了,然后里面还要用到scratch-blocks,scratch-vm,scratch-ren ...

  10. 第04组 Alpha冲刺(1/4)

    队名:斗地组 组长博客:地址 作业博客:Alpha冲刺(1/4) 各组员情况 林涛(组长) 过去两天完成了哪些任务: 1.安排好各个组员的任务 2.收集各个组员的进度 3.写页面 4.写博客 展示Gi ...