`

JSP标签 —— JSTL标签库 知识详解 学习笔记

阅读更多

本文查阅方法:
    1、查阅目录 —— 查阅本文目录,确定想要查阅的目录标题
    2、快捷“查找” —— 在当前浏览器页面,按键 “Ctrl+F” 按键组合,开启浏览器的查找功能,
             在查找搜索框中 输入需要查阅的 目录标题,便可以直接到达 标题内容 的位置。
    3、学习小结 —— 文中的学习小结内容,是笔者在学习之后总结出的,开发时可直接参考其进行应用开发的内容, 进一步加快了本文的查阅 速度。(水平有限,仅供参考。)

 

 

 


 

本文目录

 

 

 

  学习小结

 

  1、JSTL标签库 的五个子标签库 

 

  2、JSTL标签库-- <c:out>标签

 

  3、JSTL标签库-- <c:set>标签 

 

  4、JSTL标签库-- <c:remove>标签  

 

  5、JSTL标签库-- <c:catch>标签 

 

  6、JSTL标签库-- <c:if>标签

 

  7、JSTL标签库-- <c:choose>标签 

 

  8、JSTL标签库-- <c:forEach>标签

 

  9、JSTL标签库-- <c:param>标签 

 

  10、JSTL标签库-- <c:url>标签 【重点学习】

 

  11、JSTL标签库-- <c:redirect>标签

 

  12、JSTL标签库-- <c:forTokens>标签

 

  13、JSTL标签库综合 Demo样例

 

  

 

 

 


 

 

 

  学习小结

 

  (1)<c:out>标签

 

      <c:out value="" [escapeXml="true" default="default value"]/>  

 

 

 

  (2)<c:set>标签 

 

      <c:set value="" {var="" scope="session" | target="对象/map名称" property="属性名/键值" }/> 

 

 

 

  (3)<c:remove>标签 

 

      <c:remove var="varName" [scope="{page|request|session|application}"] /> 

 

 

 

  (4)<c:catch>标签 

 

      <c:catch [var="varName"]>nested actions</c:catch>

 

 

 

  (5)<c:if>标签

 

      <c:if test="" [ var="varName" scope="{page|request|session|application}"] />  

 

 

 

  (6)<c:choose>标签 

 

      <c:choose>

 

        <c:when test="${count == 0}">

 

          对不起,没有符合您要求的记录。

 

        </c:when>

 

        <c:otherwise>

 

          符合您要求的记录共有${count}条.

 

        </c:otherwise>

 

      </c:choose> 

 

 

 

  (7)<c:forEach>标签

 

  ​    <c:forEach  var=""  items="" [ varstatus=""  begin=""  end=""  step="" ]>  </c:forEach>

 

 

 

  (8)<c:param>标签 

 

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

 

 

 

  (9)<c:url>标签 【重点学习】

 

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

 

        <c:param name="name" value="中国"></c:param>

 

      </c:url>   

 

      <a href='${index }'>点点</a>

 

      生成的html源码:<a href='/day11/index.jsp?name=%e4%b8%ad%e5%9b%bd'>点点</a>

 

 

 

  (10)<c:redirect>标签

 

      ​<c:redirect url="目标URL地址" [context="其他Web应用的名称"] />

 

 

 

  (11)<c:forTokens>标签

 

      <c:forTokens items="要分隔的字符串" delims="分隔符" var="分隔出的每份字符串临时变量名"  scope=""指定域 >    </c:forTokens>

 

 

 

 

 


 

 

 

 

 

1、JSTL标签库 的五个子标签库 

 

    (1) 核心标签库 

 

    (2) 国际化标签

 

    (3) 数据库标签 (有违分层开发原则,本文不做讲解)

 

    (4) XML标签(有违分层开发原则,本文不做讲解 ) 

 

    (5) JSTL函数(EL函数)

 

 

 


 

 

 

2、JSTL标签库-- <c:out>标签

 

    <c:out> 标签用于输出一段文本内容到pageContext对象当前保存的“out”对象中。(浏览器)

 

    <c:out value="" [escapeXml="true" default="default value"]/>   

 



 

 

   

 


 

  

 

3、JSTL标签库-- <c:set>标签 

 

    <c:set>标签用于把某一个对象存在指定的域范围内,或者设置Web域中的java.util.Map类型的属性对象或JavaBean类型的属性对象的属性。 

 

    <c:set value="" {var="" scope="session" | target="对象/map名称" property="属性名/键值" }/> 

 

 

 

 

 

 


 

 

 

4、JSTL标签库-- <c:remove>标签  

 

    <c:remove>标签用于删除各种Web域中的属性。 

 

    其语法格式如下: 

 

          <c:remove var="varName" [scope="{page|request|session|application}"] /> 

 

 

 


 

 

 

5、JSTL标签库-- <c:catch>标签 

 

    <c:catch>标签用于捕获嵌套在标签体中的内容抛出的异常,其语法格式如下:

 

        <c:catch [var="varName"]>nested actions</c:catch>

 

    var属性用于标识<c:catch>标签捕获的异常对象,它将保存在page这个Web域中。 

 

     Demo样例:

 

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

 

    <%@ page contentType="text/html;charset=gb2312" %>

 

    <c:catch var="myex“ scope=“page”>

 

      <%

 

        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}" />

 

      

 


 

 

 

6、JSTL标签库-- <c:if>标签

 

    <c:if test=“”>标签可以构造简单的“if-then”结构的条件表达式  

 

     <c:if test="" [ var="varName" scope="{page|request|session|application}"] />  

 

 

 

 

 

 


 

  

 

7、JSTL标签库-- <c:choose>标签  

 

    <c:choose>标签用于指定多个条件选择的组合边界,它必须与<c:when>和<c:otherwise>标签一起使用。使用<c:choose>,<c:when>和<c:otherwise>三个标签,可以构造类似 “if-else if-else” 的复杂条件判断结构。相对于多个<c:if test=""></c:if> 标签的组合应用,可以提升效率:有一个符合条件,其他的就不再判断。

 

    Demo样例:

 

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

 

    <%@ page contentType="text/html;charset=gb2312" %>

 

    <c:set value="${param.count}" var="count“  /> pageContext(count,2)

 

    <c:choose>

 

      <c:when test="${count == 0}">

 

        对不起,没有符合您要求的记录。

 

      </c:when>

 

      <c:otherwise>

 

        符合您要求的记录共有${count}条.

 

      </c:otherwise>

 

    </c:choose> 

 

 

 


 

 

 

8、JSTL标签库-- <c:forEach>标签

 

    <c:forEach>标签用于对一个集合对象中的元素进行循环迭代操作,或者按指定的次数重复迭代执行标签体中的内容。 

 

    <c:forEach  var=""  items="" [ varstatus=""  begin=""  end=""  step="" ]>  </c:forEach>

 



 

 

 

 


 

 

 

9、JSTL标签库-- <c:param>标签 

 

    在JSP页面进行URL的相关操作时,经常要在URL地址后面附加一些参数。<c:param>标签可以嵌套在<c:import>、<c:url>或<c:redirect>标签内,为这些标签所使用的URL地址附加参数。

 

    <c:param>标签在为一个URL地址附加参数时,将自动对参数值进行URL编码,例如,如果传递的参数值为“中国”,则将其转换为“%d6%d0%b9%fa”后再附加到URL地址后面,这也就是使用<c:param>标签的最大好处。      

 

    示例:<c:param name="name" value="value" />

 

     

 


 

 

 

10、JSTL标签库-- <c:url>标签 【重点学习】

 

    <c:url>标签用于在JSP页面中构造一个URL地址,其主要目的是实现URL重写。URL重写就是将会话标识号以参数形式附加在URL地址后面 。

 



 

 

    

 

    此外,还可添加<c:param /> 为URL地址 添加参数,若是中文参数值,还会自动 进行URL编码。

 

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

 

         <c:param name="name" value="中国"></c:param>

 

                  </c:url>   

 

                  <a href='${index }'>点点</a>

 

    生成的html源码:<a href='/day11/index.jsp?name=%e4%b8%ad%e5%9b%bd'>点点</a>

 

  

 


 

 

 

11、JSTL标签库-- <c:redirect>标签

 

    <c:redirect>标签用于实现请求重定向

 

    <c:redirect url="目标URL地址" [context="其他Web应用的名称"] />

 



 

 

  

 


 

 

 

12、JSTL标签库-- <c:forTokens>标签

 

    <c:forTokens>标签用于实现字符串的分隔 

 

<c:forTokens items="要分隔的字符串" delims="分隔符" var="分隔出的每份字符串临时变量名"  scope=""指定域 >  </c:forToke

 



 

 

  

 


 

 

 

13、JSTL标签库综合 Demo样例

 

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

 

    <%@page import="cn.itcast.domain.Person"%>

 

    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

 

     

 

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

 

       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

 

      <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

 

     

 

      <head>

 

        <title>测试jstl</title>

 

      </head>

 

     

 

      <body> 

 

        <br/>-------------------c:out---------------------------<br/>

 

        <% 

 

          request.setAttribute("data","bbbb");

 

        %>

 

        <c:out value="${data}" default="aaaaa" escapeXml="true"></c:out>

 

     

 

         <br/>-------------------c:set可以操给各个域 javabean Map集合---------------------------<br/>

 

         <c:set var="data" value="xxx" scope="page"/>

 

         ${data }

 

     

 

       <% 

 

           Map map = new HashMap();

 

           request.setAttribute("map",map);

 

       %>

 

       <c:set property="dd" value="xxx" target="${map}"/>

 

       ${map.dd }

 

     

 

       <% 

 

         Person p = new Person();

 

         request.setAttribute("p",p);

 

       %>

 

       <c:set property="name" value="uuuu" target="${p}"/>

 

       ${p.name } 

 

     

 

       <br/>-------------------c:catch---------------------------<br/>

 

       <c:catch var="myex">

 

         <% 

 

           int x = 1/0;

 

         %>

 

       </c:catch>

 

     

 

       ${myex.message}

 

     

 

       <br/>-------------------c:if---------------------------<br/>

 

     

 

       <c:if var="aaa" test="${user==null}" scope="page">

 

         aaaa

 

       </c:if>

 

       ${aaa }

 

     

 

       <br/>-------------------c:foreach---------------------------<br/>

 

        <% 

 

          List list = new ArrayList();

 

          list.add("aaa");

 

          list.add("bbb");

 

          list.add("ccc");

 

          list.add("dddd");

 

          request.setAttribute("list",list);

 

        %>

 

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

 

          ${str }

 

        </c:forEach>

 

     

 

       <br/>

 

       <c:forEach var="num" begin="1" end="9" step="1">

 

           ${num }

 

       </c:forEach>

 

     

 

       <br/>-------------------c:foreach实现表格间色显示---------------------------<br/>

 

     

 

       <% 

 

          list = new ArrayList();

 

          list.add("aaa");

 

          list.add("bbb");

 

          list.add("ccc");

 

          list.add("dddd");

 

          list.add("eeee");

 

          list.add("ffff");

 

          list.add("gggg");

 

          list.add("hhhh");

 

          list.add("kkkkk");

 

          request.setAttribute("list",list);

 

        %>

 

         <%--${status }获取到了一个对象,这个对象记住了当前是第几次迭代 --%>

 

     

 

        <style>

 

          .odd{background-color: #FF99FF;}

 

          .even{background-color: #FF6633;}

 

          tr:hover{background-color: #0000FF;}

 

        </style>

 

     

 

        <table border="1" width="20%">

 

          <c:forEach var="str" items="${list}" varStatus="status">

 

            <tr class="${status.count%2==0?'even':'odd' }">     

 

              <td>${str }</td>

 

            </tr>

 

          </c:forEach>

 

        </table>

 

     

 

       <br/>-------------------c:url标签---------------------------<br/>

 

     

 

     

 

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

 

           <c:param name="name" value="中国"></c:param>

 

       </c:url>

 

     

 

       <a href='${index }'>点点</a>

 

     

 

       <br/>-------------------c:url标签---------------------------<br/>

 

     

 

       <% 

 

         pageContext.setAttribute("data","aa,bb,cc,dd");

 

       %>

 

     

 

       <c:forTokens var="ss" items="${data}" delims=",">

 

           ${ss }

 

       </c:forTokens>

 

     

 

      </body>

 

    </html>     

 

     

 

 

 


 

 

 敬请评论

(1)若您觉得本文 有用处  —— 请留言评论,以坚定其他 IT童鞋 阅读本文的信心。

(2)若您觉得本文 没用处  —— 请留言评论,笔者将会改进不足,以便为大家整理更加好用的笔记。

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

  • 大小: 94.6 KB
  • 大小: 69.4 KB
  • 大小: 74.8 KB
  • 大小: 62.3 KB
  • 大小: 67.3 KB
  • 大小: 82.7 KB
  • 大小: 54.8 KB
1
3
分享到:
评论

相关推荐

    jstl标签学习笔记

    **JSTL标签详解** JavaServer Pages Standard Tag Library (JSTL) 是一套标准的标签库,用于简化JSP页面的编程,使得开发者能够使用标签而不是脚本来处理常见任务。在JSTL中,`EL(Expression Language)`是用于...

    web学习笔记 —— jsp内置对象

    在学习JSP内置对象的过程中,阅读相关文档、实践案例以及参考博客(如《web学习笔记 —— jsp内置对象》)是非常有益的。不断实践和探索,将使你更好地理解和运用这些对象,从而在Web开发领域更加游刃有余。

    JSTL学习笔记,对使用JSTL标签使用者非常有帮助

    **JSTL(JavaServer Pages Standard Tag Library)**是一个标准化的、开源的JSP标签库,旨在简化JSP页面的开发。它由Apache Jakarta小组维护,最初是为了减少JSP页面中自定义标签的重复定义而设计。JSTL 1.02是其...

    jstl总结资料自己的学习笔记

    JSTL是JavaServer Pages标准标签库,它提供了一组预定义的标签,用于简化JSP页面的开发,使其更加结构化,可读性更强,同时也提高了代码的复用性和可维护性。JSTL主要包含五个核心组件:Core、XML、Format、I18N和...

    jstl 标签的jar tld 笔记 自己学习了 希望对你有帮助

    JSTL(JavaServer Pages Standard Tag Library,JavaServer Pages 标准标签库)是Java Web开发中的一种重要工具,它为JSP页面提供了一系列预定义的标签,简化了页面逻辑,使得代码更加清晰易读。TLD(Tag Library ...

    jsp/servlet个人学习笔记

    **JSP(JavaServer Pages)/Servlet 知识详解** JSP 和 Servlet 是 Java Web 开发中的核心组件,它们在构建动态网站时起着至关重要的作用。以下是对这两个技术及其相关概念的详细解释: 1. **JSP 基础** JSP 是一...

    jsp2.0 学习笔记+完整源码

    **JSP 2.0 学习笔记及完整源码详解** JSP 2.0(JavaServer Pages)是Java平台上的动态网页技术,它允许开发者在HTML、XML或其他标记语言文档中嵌入Java代码,以实现服务器端的动态内容生成。本资料包包括了JSP 2.0...

    jstl资料笔记笔记笔记笔记

    JSTL(JavaServer Pages Standard Tag Library)是一组标准标签库,用于简化JSP页面的开发工作。它提供了许多常用功能的标签,如循环处理、条件判断、国际化支持等。通过使用这些标签,开发者可以减少页面中的Java...

    JSP七个小项目代码和笔记汇总

    JSTL则提供了一系列标准标签库,如core、fmt、sql、fn等,用于增强JSP的功能,提高代码可读性和可维护性。 **七、实战项目解析** 在"JSP七个小项目代码和笔记汇总"中,每个项目可能涵盖了不同的知识点,比如用户...

    JSP学习笔记

    ### JSP 学习笔记详解 #### 一、JSP 概述与基本结构 **JSP (JavaServer Pages)** 是一种基于 Java 的服务器端脚本技术,它允许在 HTML 页面中嵌入 Java 代码来动态生成网页内容。JSP 技术的主要优势在于能够将业务...

    JSP小笔记--对于JSP的一个总结

    - **JSP 2.0**:带来了许多新特性,包括EL(Expression Language,表达式语言)和JSTL(JavaServer Pages Standard Tag Library,JSP标准标签库),这些改进极大地提高了开发效率和代码的可维护性。 #### Web应用...

    小贝程序员生活\课件\jsp\20110723.rar

    **JSP(Java Server Pages)知识详解:** JSP是一种动态网页技术,由Sun Microsystems(现已被Oracle收购)开发,用于构建基于Java的Web应用程序。它将HTML、CSS、JavaScript等静态内容与Java代码相结合,使得...

    JSP+DAO留言管理程序(代码+笔记)

    1. JSTL(JavaServer Pages Standard Tag Library):提供一套标准标签库,简化JSP中的Java代码,提高可读性和可维护性。 2. JDBC(Java Database Connectivity):Java访问数据库的标准API,用于建立、管理与数据库...

    旺旺老师jsp源码

    7. **jsp笔记.txt**:这可能是一个学习笔记或教程,记录了JSP的基础知识,包括语法、生命周期、内置对象、EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)等。 8. **META-INF**:这个...

    软件工程师学习笔记J2EE

    笔记可能讲解了JSP的基本元素(如指令、脚本元素、动作标签)、EL(表达式语言)、JSTL(JSP标准标签库)以及JSP与Servlet的关系。 7. **Servlet.doc**: Servlet是Java Web开发中的服务器端组件,用于处理HTTP...

    jsp电子商务网站修改版SQLserver版

    - **JSP核心概念**:理解JSP的生命周期、指令标签(page, include, taglib)、脚本元素(声明、脚本let、表达式)以及EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)。 - **MVC模式**:...

    JSP七个小项目代码和笔记汇总(java web)

    - **EL和JSTL**:简化JSP页面的表达式语言和JSP标准标签库。 - **AJAX**:异步JavaScript和XML技术,提高页面响应速度。 - **Session和Cookie**:管理用户状态,保持会话信息。 - **HTTP协议**:了解请求和响应的...

    jsp learn

    通过这份"JSP笔记.doc"文档,你可以系统学习JSP的基础知识,理解其工作原理,并学会如何有效地使用JSP来构建Web应用。无论你是初学者还是有一定经验的开发者,这些内容都能为你提供宝贵的指导。祝你在JSP的学习之...

    jsp项目---办公自动化管理系统.rar

    5. **JSTL**(JavaServer Pages Standard Tag Library):一套标准的标签库,提供了许多通用的功能,减少JSP页面中的脚本元素。 6. **Ajax技术**:用于创建异步Web应用,提升用户体验,JSP中可能通过JavaScript库...

Global site tag (gtag.js) - Google Analytics