Java教程

Java第七章 Day10天 2020080605018

本文主要是介绍Java第七章 Day10天 2020080605018,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

JSTL

  • 一.什么是JSTL
    • 二.JSTL的下载与使用
      • 三.JSTL中的core标签库
      • 四 、本章总结
  • 1.JSTL的概述
  • 二.JSTL包的下载和使用
    • 三、1.标签
      • (2)使用标签的escapeXml属性对特殊字符进行转义
    • 2.标签
    • 3.标签
    • 4.标签
    • 5.标签和<:url>标签
      • 本章总结

一.什么是JSTL

二.JSTL的下载与使用

三.JSTL中的core标签库

四 、本章总结

1.JSTL的概述

STL(JSP Standard Tag Library),JSP标准标签库,可以嵌入在jsp页面中使用标签的形式完成业务逻辑等功能。jstl出现的目的同el一样也是要代替jsp页面中的脚本代码。
JSTL标准标准标签库有5个子库,但随着发展,目前常使用的是他的核心库。
使用JSTL一般配合EL表达式来使用 一般使用的也是核心库Core

下面这个表格就是JSTL包含的标签库

标签库前缀
Corec
I18Nfmt
XMLx
SQLsql
Functionsfn

二.JSTL包的下载和使用

1.从Apache的网站下载JSTL的JAR包。
进入http://archive.apache.org/distjakarta/taglibs/standard/binaries/"网址下载JSTL的安装包jakarta-taglibs-standard-1.1.2.zip,然后将下载好的JSTL安装包进行解压,此时,在lib 目录下可以看到两个JAR文件,分别为jstl.jar 和standard.jar。其中,jstl.jar 文件包含JSTL规范中定义的接口和相关类,standard.jar 文件包含用于实现JSTL的.class文件以及JSTL中5个标签库描述符文件( TLD )。
2…导入JSTL包
将jstl.jar和standard.jar这两个文件复制到chapter07 项目的lib目录下,如图所示。

在这里插入图片描述

3.测试JSTL
由于在测试的时候使用的是<c:out>标签,因此,需要使用taglib指令导入Core标签库,具体代码如下。
<%@ taglib uri=“http://java. sun. com/ jsp/jstl/core” prefix=“c”%>

在上述代码中,taglib指令的uri属性用于指定引入标签库描述符文件的URI, prefix 属性用于指定引入标签库描述符文件的前缀,在JSP文件中使用这个标签库中的某个标签时,都需要使用这个前缀。

接下来编写一个简单的JSP文件test.jsp, 使用taglib指令引入Core标签库,在该文件中使用<c:out>标签
在这里插入图片描述

三.JSTL中的Core标签库
Core标签库是JSTL中的和核心标签库,包含了Web应用中通过操作的标签。

三、1.<c:out>标签

在JSP页面中,最常见的操作就是向页面输出一段文本信息,为此,Core 标签库提供了一个<c:out>标签,该标签可以将一段文本内容或 表达式的结果输出到客户端。如果<c:out>标签输出的文本内容中包含需要进行转义的特殊字符,例如>、<、 &、"" .等,<c:out>标签会默认对它们进行HTML编码转换后再输出。
在这里插入图片描述

(2)使用<c:out>标签的escapeXml属性对特殊字符进行转义

在这里插入图片描述

2.<c:if>标签

在程序开发中,经常需要使用if语句进行条件判断,如果要在JSP页面中进行条件判断,就需要使用Core标签库提供的<:if>标签,该标签专门用于完成JSP页面中的条件判断.
在这里插入图片描述

3.<c:choose>标签

在程序开发中不仅需要使用if条件语句,还经常使用if-else语句。为了在jsp页面中也可以完成同样的功能,Core标签库提供了<c:choose>标签
该标签用于指定多个条件选择的组合边界,它必须与<c:when>、<c:otherwise>标签一起使用。
<c:choose>标签没有属性,在它的标签体中只能嵌套一个或多个<c:when>标签和零个或一个<c:otherwise>标签,并且同一个<c:choose>标签中所有的<c:when>子标签必须出现在<c:otherwise>子标签之前。在这里插入图片描述
格式如下:

<c:choose>
     Body content (<when>) and <otherwise> subtags)
 </c:choose>

标签只有一个test属性,该属性的值为布尔类型。test属性支持动态值,其值可以是一个条件表达式,如果条件表达式的值为ture就执行这个<c:when>标签体的内容,其语法格式为:

<c:when test=“testCondition”>
           Body content 
</c:when>

<c:otherwise>标签没有属性,它必须作为<c:choose>标签最后分支出现。当所有的<c:when>标签的test条件都不成立时,才执行和输出<c:otherwise>标签体的内容,其语法格式为下:

<c:otherwise>
        conditional block
<c:otherwise

4.<c:forEach>标签

在JSP页面中,经常需要对集合对象进行循环迭代操作,为此,Core 标签库提供了一个<c:forEach>标签,该标签专门用于迭代集合对象中的元素,如Set、 List、 Map、数组等,并且能重复执行标签体中的内容,它有两种语法格式,具体如下。
在这里插入图片描述
在这里插入图片描述
从这里可以看出在String数组中存入的元素apple、orange、grape、banana全部被打印出来了。因此。可以说明在使用<<c:forEach>标签可以迭代数组中的元素。Map集合中的存入的用户名和密码将会被打印出来了。在使用<c:forEach>标签时,只需要将userMap集合对象赋值给items属性,之后通过entry变量就可以获取到集合中的键和值。

5.<c:param>标签和<:url>标签

在开发一个Web应用程序时,通常会在JSP页面中完成URL的重写以及重定向等特殊功能,为了完成这些功能,在Core标签库中,也提供了相应功能的标签.这些标签包括<c:param>、<c:redirect>和<c:url>。其中,<c:param>标签用于获取URL地址中的附加参数,<c:ur)>标签用于按特定的规则重新构造URL, <c:redirect> 标签负责重定向。
在访问以一个JSP页面时,通常会在URL中传递一些参数信息,为了方便完成这种功能,Core标签库中提供了一个<c:url>标签,该标签可以在jsp页面中构造一个新的地址,实现URL的重写。<c:url>有两个 语法格式如下:

`<c:url>
<c:url value=“value” [context="context"]   [var="varName"]
[scope="{page|request|session|aoolication}"]>
       <c:param>
 </c:url>标签

在这里插入图片描述
在这里插入图片描述
在c_url.jsp页面中构造的URL地址实际上会变成一个超链接,并且使用标签构造函数的参数将会进行URL编码,将参数张三转换为“%e%bc%a0%e4%b89,中国转换为“%e4%b8%ad%e5%9b%bd”,这样就构造了一个新的URL地址,完成了URL的重写功能。

本章总结

本章只要讲解了==JavaBean、BeanUtils工具,EL表达式的基本语法、常见EL表达式隐士对象、JSTL的下载和使用以及JSTL常见标签库等知识。==通过本章学习,我们能够了解到什么是JavaBean,什么是EL表达式和JSTL,可以熟练地掌握BeanUtils工具访问JavaBean、EL表达式的基本语法格式、EL的常见隐士对象以及JSTL中的常见Core标签库等操作。
在实际操作中,我会遇到很多问题等,但是在同学和老师的帮助下,解决了问题,自己对BeanUtils工具访问JavaBean还不是很熟悉,自己应该下去再好好练习一下。争取下次可以熟练地使用BeanUtils工具访问JavaBean。

这篇关于Java第七章 Day10天 2020080605018的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!