`

17、JSTL标签库

 
阅读更多

一、JSTL 简介

 

  1. JSTL:JavaServer Pages Standard Tag Library
  2. 由JCP(Java Community Process)指定标准,提供给 Java Web 开发人员一个标准通用的标签函数库
  3. 和 EL 配合来取代传统直接在页面上嵌入 Java 程序(Scripting)的做法,以提高程序可读性、维护性和方便性

二、JSTL1.1安装

 

  1. JSTL 主要由Apache组织的Jakarta Project 实现
  2. 下载地址:http://tomcat.apache.org/taglibs/standard/
  3. 容器必须支持Servlet 2.4 且JSP 2.0 以上版本
  4. JavaEE1.4 
  5. 解压缩后将lib 中的jstl.jar、standard.jar 复制到WEB应用程序的WEB-INF\lib 下

三、JSTL标签库

 

  1. 核心标签库 (core)  --- c
  2. 国际化标签 fmt
  3. 数据库标签 sql --Servlet
  4. XML标签  xml
  5. JSTL函数(EL函数) el

四、核心标签库

 

  1. <c:out>标签:用于输出一段文本内容到pageContext对象当前保存的“out”对象中

     
    c:out 输出内容到浏览器端
    	输出固定值
    	<c:out value="Hello c out~"/>
    
    	输出变量
    	<c:out value="${m}"/>
    
    	转义html,默认为转义,可以设置escapeXml属性为false,禁止转义
    	<c:out value="<a href='#'>link</a>" escapeXml="false"/>
    
    	允许输出默认值,如果给定值不存在,输出默认值
    	<c:out value="${city}" default="北京"/>
    
     
  2. <c:set>标签:用于把某一个对象存在指定的域范围内,或者设置Web域中的java.util.Map类型的属性对象或JavaBean类型的属性对象的属性。

     
    c:set 设置值到四个域,设置四个范围中的java对象的属性、在指定域中增加、修改属性
    	<c:set var="name" value="value" scope="page"/>
    
    设置一个保存在四个范围的java对象的属性值,cset不能设置对象进域,但是可以更改域中对象的属性
    	<c:set targe="${person}" property="name" value="lisi"/>	
    
     
  3. <c:remove>标签:用于删除各种Web域中的属性
    其语法格式如下:
    
    <c:remove var="varName" 	
    	[scope="{page|request|session|application}"] /> 
     
    c:remove用来删除四个域中的值
    	<c:remove var="age" scope="page"/>
     
  4. <c:catch>标签:用于捕获嵌套在标签体中的内容抛出的异常
    语法格式如下:
          <c:catch [var="varName"]>nested actions</c:catch>
    
    var属性用于标识<c:catch>标签捕获的异常对象,它将保存在page这个Web域中。 
     
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ page contentType="text/html;charset=gb2312" %>
    <c:catch var="myex“ >
    	<%
    		10/0;
    	%>
    </c:catch>
    异常:<c:out value="${myex}" />  ${myex}<br />
    异常 myex.getMessage:<c:out value="${myex.message}" /><br />
    异常 myex.getCause:<c:out value="${myex.cause}" /><br />
    异常 myex.getStackTrace:<c:out value="${myex.stackTrace}" />
     
    <c:catch var="e">
    	<%
    		String s = null;
    		s.charAt(1);
    	%>
    </c:catch>
    ${e.message}
    
     
  5. <c:if>标签:可以构造简单的“if-then”结构的条件表达式
    c:if 用来取代页面中if语句,请记住,没有c:else,想要写else,只能再写个c:if,然后条件是反的
    <c:if test="${n>5}"></c:if>
     
  6. <c:choose>标签:用于指定多个条件选择的组合边界,它必须与<c:when>和<c:otherwise>标签一起使用。使用<c:choose>,<c:when>和<c:otherwise>三个标签,可以构造类似 “if-else if-else” 的复杂条件判断结构
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ page contentType="text/html;charset=gb2312" %>
    <c:set value="${param.count}" var="count"  />
    <c:choose>
    	<c:when test="${count == 0}">
    		对不起,没有符合您要求的记录。
    	</c:when>
    	<c:otherwise>
    		符合您要求的记录共有${count}条.
    	</c:otherwise>
    </c:choose>
     
     
    c:choose c:when c:otherwise 一起使用,取代if elseif else 或 swich case
    		<c:choose>
    			<c:when test="${weekday==1}">
    				星期一
    			</c:when>
    			<c:when test="${weekday==1}">
    				星期二
    			</c:when>
    			<c:when test="${weekday==1}">
    				星期三
    			</c:when>
    			<c:otherwise>
    				输入无效
    			</c:otherwise>
    		</c:choose>
    
     
  7. <c:forEach>标签:用于对一个集合对象中的元素进行循环迭代操作,或者按指定的次数重复迭代执行标签体中的内容。
    <%
    	int atts[] = {1,2,3,4,5,6,7,8,9,10};
    	request.setAttribute("atts", atts);
    %>
    
    <c:forEach items="${atts}" var="item" begin="0" end="9" step="1" >
    	${item}</br>
    </c:forEach>
     
  8. varStatus属性:用来存放现在指到之成员的相关信息
    <c:forEach begin="10" end="100" step="2" var="i"varStatus="status">
    			<c:if test="${status.count}%3 == 0">
    				<font color="red">${i}</font>
    			</c:if>
    			<c:if test="${status.count}%3 != 0">
    				<font color="blue">${i}</font>
    			</c:if>
    		</c:forEach>
    -------------------------------------------------------------------------------------------------
    
    
    <c:forEach var="i" begin="100" end="200" step="5" varStatus="status"> 
    	<c:if test="${status.first}"> 
    		begin:<c:out value="${status.begin}">begin</c:out>     
    		end:<c:out value="${status.end}">end</c:out>     
    		step:<c:out value="${status.step}">step</c:out>
    		<br/> 
    		sequence: 
    	</c:if>
    	<c:out value="${i}"/> 
    	<c:if test="${status.last}"> 
    		<br/>There are 
    		<c:out value="${status.count}"/> numbers in the list. 
    	</c:if> 
    </c:forEach> 
    ----------------------------------------------------------------------------------------------
    <%
    Map<String,String> map = new HashMap<String,String>();
    map.put("001","aaa");
    map.put("002","bbb");
    map.put("003","ccc");
    request.setAttribute("map",map);
    %>
    <c:forEach var="m" items="${requestScope.map}">
    		${m.key } , ${m.value } <br/>
    </c:forEach>
    
     
  9. <c:forTokens>:用来浏览一字符串中所有的成员,其成员是由定义符号所分隔的
    c:forTokens 切割字符串(复习 StiringTokenize类)
    		<c:forTokens items="${s}" delims="," var="e">
    			${e}
    		</c:forTokens>
    
     
  10. <c:param>标签 :在JSP页面进行URL的相关操作时,经常要在URL地址后面附加一些参数。<c:param>标签可以嵌套在<c:import>、<c:url>或<c:redirect>标签内,为这些标签所使用的URL地址附加参数
  11. <c:param>标签在为一个URL地址附加参数时,将自动对参数值进行URL编码,例如,如果传递的参数值为“中国”,则将其转换为“%d6%d0%b9%fa”后再附加到URL地址后面,这也就是使用<c:param>标签的最大好处
  12. 示例:<c:param name="name" value="value" />
  13. <c:import> 标签:
    引入1.jsp的输出,拼接到当前jsp的输出中
    <c:import url="/1.jsp" context="/day08"/>
    
    引入1.jsp的输出,保存到scope域中以var指定名为名称的属性中
    <c:improt url="/1.jsp" context="/day08" var="content" scope="page"/>
    
     
  14. <c:url>标签:用于在JSP页面中构造一个URL地址,其主要目的是实现URL重写。URL重写就是将会话标识号以参数形式附加在URL地址后面 
    <c:url value="/index.jsp"context="/day04" var="myurl2"scope="page">
    
    <c:param name="username" value="张三"></c:param>
    
    </c:url>
    
     
  15. <c:redirect>标签:用于实现请求重定向
    <c:redirect url="/index.jsp" context="/day08"/>
     
     
     
     
     
  • 大小: 34.5 KB
  • 大小: 45.4 KB
  • 大小: 31.8 KB
  • 大小: 40.1 KB
  • 大小: 17.5 KB
  • 大小: 67.2 KB
  • 大小: 59.4 KB
  • 大小: 23 KB
  • 大小: 27.5 KB
分享到:
评论

相关推荐

    JAVAEE实验报告EL表达式和jstl标签库的使用.pdf

    JAVAEE 实验报告 EL 表达式和 JSTL 标签库的使用 EL 表达式(Expression Language)是一种在 JSP 页面中使用的脚本语言,用于简化 JSP 页面的开发。EL 表达式可以访问 JSP 页面中的变量、对象和集合,进行逻辑操作...

    jstl标签库的配置

    本篇文章将深入探讨JSTL标签库的配置过程及其在实际应用中的作用。 首先,我们要理解**JSTL的核心组件**。JSTL主要由五个核心部分组成:Core、Format、I18N、SQL和XML。其中,Core组件包含了大部分用于控制流程、...

    JSTL标签库jar包文件

    每个`taglib`元素定义了一个TLD(Tag Library Descriptor)文件的位置,这告诉服务器JSTL标签库的位置和元数据。 总之,JSTL通过提供丰富的标签来增强JSP页面的功能,而解决"无法解析绝对uri"的错误通常涉及到正确...

    JSTL标签库及使用方法

    **JSTL标签库及其使用方法** JavaServer Pages Standard Tag Library(JSTL)是Java社区为简化JSP页面开发而推出的一个标准标签库。它提供了丰富的功能,如迭代、条件判断、XML处理、国际化等,使代码更加简洁、易...

    JavaWeb-12:自定义标签库开发&JSTL标签库

    二、JSTL标签库 JSTL是Java Web开发的标准标签库,它包含五个核心部分:Core、Format、I18N、XML和SQL。这些标签提供了丰富的功能,例如控制流、格式化、国际化、XML处理和数据库操作。 1. **Core标签**:包括if、...

    JSTL标签库依赖,内含Tomcat8、Tomcat10所需JSTL依赖

    **JSTL(JavaServer Pages Standard Tag Library)标签库**是Java Web开发中常用的一组预定义的HTML和XML标签,用于简化JavaServer Pages(JSP)开发。它提供了更面向声明的编程方式,使开发者可以更专注于业务逻辑...

    JSTL标签库-tomcat10-简化JSP中java代码

    JSTL(JavaServer Pages Standard Tag Library)是Java Web开发中一个重要的标签库,主要用于简化JSP页面中的Java代码,提高JSP页面的可读性和维护性。在Tomcat 10这个高性能、轻量级的Servlet容器中,JSTL的使用...

    JSTL标签库jar包

    - 使用JSTL标签库可以提高代码的可读性和可维护性,降低HTML和Java代码的混合程度。 - 结合EL,可以进一步减少脚本let的使用,使JSP页面更加整洁。 - 注意,JSTL的SQL标签库不适用于复杂的数据库操作,现代Web应用...

    JSTL标签库需要导入的Jar包

    以下是关于JSTL标签库所需导入的JAR包及其功能的详细解释: 1. **jstl.jar**:这是核心JSTL库,包含了大部分常用的标签,如 `&lt;c:if&gt;`, `&lt;c:forEach&gt;`, `&lt;fmt:formatDate&gt;` 等。这些标签提供了条件判断、循环、格式...

    jstl标准标签库jar包.zip

    jstl标准标签库的三个jar包:jstl-1.2、jstl-api-1.2、jstl-impl-1.2。 jstl标准标签库的三个jar包:jstl-1.2、jstl-api-1.2、jstl-impl-1.2。 jstl标准标签库的三个jar包:jstl-1.2、jstl-api-1.2、jstl-impl-1.2...

    jstl标签库 手册

    JSTL(JavaServer Pages Standard Tag Library)是一个用于JSP的标准标签库,它提供了一系列预定义的标签,简化了常见的编程任务,如控制流程、输出处理、URL管理和数据操作等。JSTL的核心标签库(Core Library)是...

    JSTL标签库的下载

    ### JSTL标签库及其下载 #### JSTL概述 JSTL(JavaServer Pages Standard Tag Library,JavaServer页面标准标签库)是一组用于开发JavaServer Pages页面的标准标签集合。这些标签简化了JSP页面的编写工作,使...

    jstl标签库jar包

    **JSTL标签库与JAR包详解** JavaServer Pages Standard Tag Library(JSTL)是Java EE领域中用于简化JSP开发的一个重要工具。它提供了一组预定义的标签,帮助开发者更高效地处理常见任务,如迭代、条件判断、国际化...

    JSTL标签库——taglibs-standard jar包

    JSTL标签库——taglibs-standard jar包

    jstl1.2标签库jar包

    JSTL(JavaServer Pages Standard Tag Library,JavaServer Pages 标准标签库)是Java Web开发中常用的一个库,它提供了一系列预定义的标签,用于简化JSP页面中的逻辑代码,使得页面更加清晰易读。在给定的压缩包...

    jstl标签库与使用教程

    **JSTL(JavaServer Pages Standard Tag Library)标签库**是Java Web开发中不可或缺的一部分,它为JSP页面提供了一套标准的标签,用于简化HTML和XML文档的处理,提高代码的可读性和可维护性。JSTL的使用极大地减少...

    JSTL标签库下载配置

    在本资源包中,你将找到两个重要的JSTL相关文件——`jstl.jar`和`standard.jar`,以及一个名为`JSTL标签库配置.doc`的文档,它们是配置和使用JSTL标签库所必需的。 **一、jstl.jar和standard.jar** 1. **jstl.jar*...

    jstl标签库

    【JSTL标签库】是Java服务器页面(JSP)的一种标准标签库,由Sun Microsystems公司发布,旨在简化JSP页面的开发。JSTL提供了一系列预定义的标签,用于处理常见的任务,如数据输出、流程控制、循环、XML处理、国际化...

    JSTL标准标签库

    JSTL标准标签库的各个标签详细说明,包含了核心标签库(c:),国际化标签库(fmt:)以及函数标签库(fn).注意:SQL标签库(sql:)以及XML标签库(xml:)不应使用,文档中也未提及

Global site tag (gtag.js) - Google Analytics