1.JSTL(JSP Standard Tag Library)

[1] JSTL简介

> JSTL是JSP的标准标签库

> JSTL为我们提供了一些常用的标签,供我们日常开发使用(if 、 if...else 、遍历 、 日期格式化)

> 标签库

- core :核心标签库

- 最常用的一个标签库,也就是我们熟悉c标签。

- fn :函数标签库

- 函数标签库它需要结合EL表达式使用,主要定义了一些字符串操作的方法。

- fmt :格式化标签库

- 主要用来做日期、数字的格式化以及国际化

- 20151019 2015/10/19  10/19/2015

- 10000 10,000

- sql : 数据库标签库

- 主要用来在JSP中操作数据库的,已淘汰

- xml : xml标签库

- 主要用来在JSP操作解析XML文档,已淘汰

> JSTL的使用

使用JSTL需要先导入两个jar包     taglibs-standard-impl-1.2.1.jar     taglibs-standard-spec-1.2.1.jar

[2] 核心标签库

- 导入核心标签库    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

- 核心标签库一般使用c作为前缀,所以我们也称核心标签库为c标签。

- c标签是我们JSTL中最常用的一个标签库,它里边封装了很多开发中常用的功能。

c:out

作用:向页面中输入一个内容,一般要结合EL表达式使用!

例子:<c:out value="" default="" escapeXml=""></c:out>

属性:

value : 要输出内容

default : 当内容为空时显示的默认值

escapeXml : 是否自动转义特殊字符,默认值为true 自动转义,一般不修改该属性

c:set

作用:向域中设置一个属性

例子:<c:set var="name" value="孙悟空" scope="request"></c:set>

属性:

var :向域中存储的属性名

value :向域中存储的属性值

scope :向那个域中添加属性,四个可选值(page request session application),默认是page

c:remove

作用:移除域中的一个属性

例子:<c:remove var="name" scope="session"/>

属性:

var :要移除的属性的名字

scope :要移除的属性所在的域,四个可选值(page request session application)如果不设置该属性,则默认移除四个域中指定属性。

c:if

作用 :相当于java中if语句

例子:<c:if test="${empty param.name }">     <h3>您没有输入name属性!</h3>    </c:if>

属性:

test :接收一个boolean类型的值     如果test的值为true则标签体执行     否则不执行标签体

c:choose c:when c:otherwise

作用:相当于if...else

例子:

<c:choose>

<c:when test="${param.score == 100 }">

<h3>恭喜您考了100分!</h3>

</c:when>

<c:otherwise>

<h3>恭喜你,你不及格!</h3>

</c:otherwise>

</c:choose>

属性:

when标签中的test属性: 接收一个boolean类型的值 如果test的值为true则标签体执行否则不执行标签体

注意:在choose标签中可以指定多个when标签,但是只有一个when会执行。

当所有的when标签都不执行时,则otherwise标签执行。

c:when和c:otherwise不能脱离c:choose使用。

c:forEach

作用:可以在页面中对集合进行遍历

例子:

<c:forEach items="${list}" var="hero">

${hero} <br />

</c:forEach>

<c:forEach items="${map }" var="user">

${user.key} --- ${user.value} <br />

</c:forEach>

属性:

items:要遍历的集合

var:对集合中的对象引用的名字

注意:在遍历Map时,返回的是一组一组的键值对结构    我们可以通过对象.key获取键,通过对象.value获取值

作用:可以用来遍历一组数

例子:

<c:forEach begin="1" end="20" var="index" step="1">

<a href=#>${index}</a>

</c:forEach>

属性:

begin :开始的位置,注意begin不能小于0

end :结束的位置

var :引用的名字

step :步长,每次自增的大小

c:url

作用:可以创建一个完整的绝对路径

例子:

<c:url value="/index.jsp">

<c:param name="name" value="孙悟空"></c:param>

<c:param name="age" value="18"></c:param>

</c:url>

属性:

value:要设置的地址,注意该地址要以/开头,否则不会加上项目名  在url标签中可以添加c:param标签,可以自动为地址拼接上请求参数。

c:redirect

作用:请求的重定向

例子:

<c:redirect url="/index.jsp">

<c:param name="name" value="唐僧"></c:param>

</c:redirect>

属性:

url:重定向到目标地址,注意该地址不要自己添加项目名。 在redirect标签中可以添加c:param标签,可以自动为地址拼接上请求参数。

注意:redirect标签会自动为我们设置项目名,不需要我们手动设置!

设置绝对路径的三种方式:

1.<c:set var="ctx" value="${pageContext.request.contextPath }"></c:set>     使用这种方式,可以通过${ctx}在页面中代替项目名

2.使用<c:url value="/index.jsp"></c:url>     使用url标签,它会自动为绝对路径加上项目名

3.<base href="http://${pageContext.request.serverName }:${pageContext.request.serverPort }${pageContext.request.contextPath }/" />     使用base标签可以为页面中所有的相对路径,加上项目名

[3] 函数标签库

作用:函数标签库需要配合EL表达式使用,它里面的方法都是一些字符串的操作

引入函数标签库:<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

例子:

${fn:contains("hello","He") } <br />

判断前一个字符串是否包含后一个字符串

${fn:containsIgnoreCase("hello","He") } <br />

判断前一个字符串是否包含后一个字符串,不区分大小写

${fn:endsWith("hello","alo") }<br /> 判断前一个字符串是否以后一个字符串结尾

<!-- 自动将特殊字符转义 -->

${fn:escapeXml("<html></html>") }<br /> 自动将特殊字符进行转义

<!-- fn:join用于将一个String数组转换一个字符串,第二个参数代表的连接符 -->

${fn:join(strs,",") }<br /> 将一个String数组,以指定字符串拼接为一个新的字符串

${fn:split("a,b,c,d,e",",")[2] }<br /> 将一个字符串,以指定字符拆分为一个字符数组

${fn:trim("      abcd       ")

}<br /> 去掉字符串的前后空格

剩下方法参照 alt+/

转载于:https://www.cnblogs.com/12344321hh/p/7402398.html

170819-关于JSTL的知识点相关推荐

  1. javaweb实训第四天上午——员工管理系统-JavaBeanELJSTLMVC思想

    目录 1.课程介绍 2.项目需求分析 3.JavaBean 3.1.什么是JavaBean 3.2.JavaBean的规范 3.3.Bean属性与对象属性 3.4.BeanUtils的使用(主要进行属 ...

  2. (forEach url out set catch 等)javaweb中JSTL的Core 核心标签库知识点

    JSTL 标签库的基本知识复习 导读{ 1]什么是 JSTL 标签库 ? [2]如何在我们的项目中使用JSTL ? [3]介绍Core 核心标签库 [3.1]URL标签 作用:  可以在JSP页面中构 ...

  3. jsp常见面试题及其知识点、EL、JSTL技术

    一.JSP技术 1.jsp脚本和注释 jsp脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部 2)<%=java变量或表达式> - ...

  4. Java 面试知识点解析(七)——Web篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

  5. JSTL标签用法:c:choosec:forEachc:ifc:whenc:set

    JSP 标准标记库( Standard Tag Library , JSTL) 是一组以标准化格式实现许多通用的 Web 站点功能的定制标记. JSP 技术的优势之一在于其定制标记库工具.除了核心 J ...

  6. JavaBean规范、EL、JSTL、

    一:JavaBean规范: 01.JavaBean的规范 什么是JavaBean: 符合某些设计规范的类.为什么需要使用JavaBean: 避免代码重复问题,起到功能重复使用.JavaBean遵循的规 ...

  7. eclipse jstl包_我的Java Web之路41 - JSTL初步使用

    本系列文章旨在记录和总结自己在Java Web开发之路上的知识点.经验.问题和思考,希望能帮助更多(Java)码农和想成为(Java)码农的人. 目录 介绍 JSTL规范下载 JSTL包含哪些库 JS ...

  8. 全靠这份Java知识点PDF大全,先睹为快

    一. 什么是架构和架构本质 在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解. 此君说的架构和彼君理解的架构未必是一回事.因此我们在讨论架构之前,我们先讨论架构的概念定义,概念是人认识 ...

  9. 呕心沥血整理的Java零基础入门到精通全套知识点教程

    学习 Java,我将会从三个阶段来介绍,分为初级.中级和高级 计算机基础 计算机基础都包括哪些呢? 计算机组成原理.操作系统.计算机网络.数据结构与算法. 计算机组成原理 先说计算机组成原理,这部分内 ...

  10. java二维数组添加数据_我敢保证,全网没有再比这更详细的Java知识点总结了,送你啊...

    接下来你看到的将是全网最详细的Java知识点总结,全文分为三大部分:Java基础.Java框架.Java+云数据 小编将为大家仔细讲解每大部分里面的详细知识点,别眨眼,从小白到大佬.零基础到精通,你 ...

最新文章

  1. 千万级高德服务单元化方案和架构实践
  2. 8.VMware View 4.6安装与部署-connection server(View Transfer Server)
  3. 第三次作业(词频统计及其效能分析)
  4. notepad++ 使用去掉自动检查红线
  5. 使用 CSS 接收用户的点击事情并对相关节点进行操作
  6. php10天速成培训,十天学会php之第九天
  7. quartz mysql 驱动_quartz mysql 集成
  8. Windows bat命令解压缩文件360zip
  9. Asp.net页面生命周期详解任我行(2)-WebForm页面生命周期WEBFORM_ASPNET控件树的生成和作用...
  10. 车联网在智慧城市中的发展与应用
  11. Springboot入门到精通(超详细文档)
  12. Anaconda虚拟环境中,让Python3使用ROS的cv_bridge
  13. 7-4 打印九九口诀表 (15 分)
  14. BAT用户画像数据浅析
  15. 【Web技术】1257- 基于FFmpeg的图片合成视频
  16. 华中科技大-汉明校验码设计
  17. mysql只比较月日的情况
  18. 使用SnowNLP对影评进行情感分析
  19. 服务器w8系统如何重装系统,如何重装Windows8.1 Win8.1系统重装流程图解
  20. 未来 我们该何去何从

热门文章

  1. 2014-VGG网络讲解
  2. Markdown(五)——绘图工具mermaid之流程图Flowchart
  3. 记安卓屏固件升级步骤
  4. Windows核心编程_Edit控件无法输入问题
  5. zabbix-proxy+cacti+nagios基本安装配置
  6. PostgreSQL Logical Replication
  7. 关于防止表单form重复提交的方式
  8. linux vmware时间问题
  9. linux ubuntu 安装 SSH
  10. OpenGL之路(八)加入�光照效果和键盘控制