`
chaoyi
  • 浏览: 309599 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

核心标签库

 
阅读更多

本章目标
掌握核心标签库提供的主要标签;
可以完成输出、判断、迭代等常见操作;

 

核心标签库
核心标签库是JSTL中最重要的部分,也是在开发中最常使用到的部分,在核心标签库里主要完成的就是流程控制、迭代输出等操作

 

<c:out>标签
<c:out>标签主要用于输出内容,这一点与表达式语言或表达式输出的scriptlet是一样的,此标签的语法如下:
<c:out value="打印的内容" [escapeXml="[true | false]"] [default="默认值"]/>
<c:out value="打印的内容" [escapeXml="[true | false]"]>
  默认值
</c:out>

 

<c:out>标签的属性


使用<c:out输出>

<%@ page language="java" contentType="text/html" pageEncoding="utf-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>使用 c:out 输出</title>
</head>
<body>
<%
	pageContext.setAttribute("info", "<www.baidu.com>");
 %>
<h3>属性存在:<c:out value="${info}"></c:out></h3>
<h3>属性不存在:<c:out value="${ref}" default="没有此内容"></c:out></h3>
<h3>属性不存在:<c:out value="${ref}">没有此内容</c:out></h3>
</body>
</html>

效果图:

 

<c:set>标签
<c:set>标签主要用来将属性保存在四种属性范围之中,语法如下:
    设置属性
        <c:set var="属性名称" value="属性内容" [scope="[page | request | session | application]"]/>
        <c:set var="属性名称" [scope="[page | request | session | application]"]>
              属性内容
        </c:set>
    设置对象
        <c:set value="属性内容" target="属性名称" property="属性名称"/>
        <c:set target="属性名称" property="属性名称">
              属性内容
         </c:set>

 

<c:set>标签的属性

 
通过<c:set>设置属性

<%@ page language="java" contentType="text/html" pageEncoding="utf-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>通过 c:set 设置属性</title>
</head>
<body>
<c:set var="info" value="hello chaoyi!!!" scope="request" />
<h3>属性内容:${info}</h3>
</body>
</html>

 效果图:

  


定义JavaBean 

package cn.demo.vo;

public class SimpleInfo {
	private String Content;

	public String getContent() {
		return Content;
	}

	public void setContent(String content) {
		Content = content;
	}
} 
 
 


设置属性

<%@ page language="java" contentType="text/html" pageEncoding="utf-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page import="cn.demo.vo.*" %>
<html>
<head>
<title>设置属性</title>
</head>
<body>
<%//定义一个JavaBean
	SimpleInfo sim= new SimpleInfo();//实例化 SimpleInfo 对象
	request.setAttribute("SimCon", sim);//设置属性
 %>
 <!-- 将 value 的内容设置到 SimCon 对象的 content 属性中  -->
 <c:set value="hello chaoyi!!!" target="${SimCon}" property="content"></c:set>
 <h3>属性内容:${SimCon.content}</h3>
</body>
</html>

效果图:

  

<c:remove>标签
<c:remove>标签在程序中的主要作用是用来删除指定范围中的属性,功能与removeAttribute()方法类似,语法如下:<c:remove var="属性名称" [scope="[page | request | session | application]"]/>

 

<c:remove>标签的属性

 
删除属性

<%@ page language="java" contentType="text/html" pageEncoding="utf-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>删除属性</title>
</head>
<body>
<c:set var="info" value="Hello word!!!" scope="request"></c:set>
<c:remove var="info" scope="request"/>
<h3>属性内容:${info}</h3>
</body>
</html>

效果图:

  

<c:catch>标签
<c:catch>标签主要用来处理程序中产生的异常,并进行相关的异常处理,语法如下:
<c:catch [var="保存异常信息的属性名称"]>
  有可能发生异常的语句
</c:catch>

 

<c:catch>标签的属性

 

使用JSTL进行异常处理

<%@ page language="java" contentType="text/html" pageEncoding="utf-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>使用 JSTL 进行异常处理</title>
</head>
<body>
<c:catch var="errNum">
<%//在此处产生异常
	int result=10/0;//被除数为0产生异常
 %>
</c:catch>
 <h3>异常信息:${errNum}</h3>
</body>
</html>

效果图:

  

<c:if>标签
<c:if>标签主要是进行判断语句的使用,功能与在程序中使用的if语法是一样的,语法如下:
    <c:if test="判断条件" var="储存判断结果" [scope="[page | request | session | application]"]/>
    <c:if test="判断条件" var="储存判断结果" [scope="[page | request | session | application]"]>
  满足条件时执行的语句
    </c:if>

 

<c:if>标签的属性

 

判断操作

<%@ page language="java" contentType="text/html" pageEncoding="utf-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>判断操作</title>
</head>
<body>
<%
	pageContext.setAttribute("ref", "chaoyi");
 %>
<c:if test="${ref=='chaoyi'}" var="res1" scope="page">
	<h3>欢迎 ${ref} 光临!</h3>
</c:if>
<c:if test="${10<30}" var="res2">
	<h3>10比30小</h3>
</c:if>
<h3>输出判断结果一:${res1}</h3>
<h3>输出判断结果二:${res2}</h3>
</body>
</html>

 效果图:

 
 <c:choose>、<c:when>、<c:otherwise>标签
<c:if>标签可以提供的功能只是针对于一个条件的判断,如果现在要同时判断多个条件,可以使用:<c:choose>,但是<c:choose>标签只能作为<c:when>和<c:otherwise>的父标签出现。
<c:choose>条件选择
<c:choose>
  标签体内容(<c:when>、<c:otherwise>)
  </c:choose>
<c:when>条件判断
<c:when test="判断条件">
  满足条件时执行的语句
  </c:when>
<c:otherwise>
<c:otherwise>
  当所有<c:when>不满足时,执行本标签体内容
  </c:otherwise>

 

多条件判断

<%@ page language="java" contentType="text/html" pageEncoding="utf-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>多条件判断</title>
</head>
<body>
<%
	pageContext.setAttribute("num", 12);
 %>
 <c:choose>
 	 <c:when test="${num==10}">
 	 	<h3>num1属性的内容是10!</h3>
 	 </c:when>
 	 <c:when test="${num==20}">
 	 	<h3>num1属性的内容是20!</h3>
 	 </c:when>
 	 <c:otherwise>
 	 	<h3>没有一个满足条件的!</h3>
 	 </c:otherwise>
 </c:choose>
</body>
</html>

 效果图:

 

<c:forEach>标签
<c:forEach>标签的主要功能为循环控制,可以将集合中的成员进行迭代输出,功能与Iterator接口类似,语法如下:
<c:forEach [var="每一个对象的属性名称"] items="集合" [varStatus="保存相关成员信息"] [begin="集合的开始输出位置"] [end="集合的结束输出位置"] [step="每次增长的步长"]>
  具体的操作代码
  </forEach>

 

<c:forEach>标签的属性

 

输出数组

<%@ page language="java" contentType="text/html" pageEncoding="utf-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>输出数组</title>
</head>
<body>
<%//定义数组
	String info[]={"iteye","chaoyi","www.baidu.com"};
	pageContext.setAttribute("ref", info);//将数组保存在 page 范围之中
 %>
 <h3>输出全部:
 <c:forEach items="${ref}" var="mem">
 	${mem}、
 </c:forEach>
 </h3>
  <h3>输出全部(间隔为2):
 <c:forEach items="${ref}" var="mem" step="2">
 	${mem}、
 </c:forEach>
 </h3>
  <h3>输出前两个:
 <c:forEach items="${ref}" var="mem" begin="0" end="1">
 	${mem}、
 </c:forEach>
 </h3>
</body>
</html>

效果图:

 
输出集合

<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html" pageEncoding="utf-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>输出集合</title>
</head>
<body>
<%
	List all=new ArrayList();//实例化集合对象
	all.add("iteye");//向集合中加入内容
	all.add("chaoyi");//向集合中加入内容
	all.add("www.baidu.com");//向集合中加入内容
	pageContext.setAttribute("ref", all);//将数组保存在 page 范围中
 %>
 <h3>输出全部:
 <c:forEach items="${ref}" var="mem">
 	${mem}、
 </c:forEach>
 </h3>
</body>
</html>

效果图:

  
输出Map集合 

<%@page import="java.util.HashMap"%>
<%@page import="java.util.Map"%>
<%@ page language="java" contentType="text/html" pageEncoding="utf-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>输出Map集合</title>
</head>
<body>
<%
	Map map=new HashMap();//实例化集合对象
	map.put("it", "iteye");//向集合中加入内容
	map.put("cy", "chaoyi");//向集合中加入内容
	map.put("baidu", "www.baidu.com");//向集合中加入内容
	pageContext.setAttribute("ref", map);//将数组保存在 page 范围中
 %>
 <c:forEach items="${ref}" var="mem">
 	<h3>${mem.key} --&gt; ${mem.value}</h3>
 </c:forEach>
</body>
</html>

效果图:

  

<c:forTokens>标签
<c:forTokens>标签也是用于输出操作的,它更像是String类中的split()方法和循环输出的一种集合,标签的语法如下:
<c:forTokens items="输出的字符串" delims="字符串分割符" [var="存放每一个字符串变量"][varStatus="存放当前对象的相关信息"] [begin="输出位置"] [end="结束位置"] [step="输出间隔"]>
  标签体内容
  </c:forTokens>

 


<c:forTokens>标签的属性

 

使用<c:forTokens>进行输出

<%@ page language="java" contentType="text/html" pageEncoding="utf-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>使用 c:forTokens 进行输出</title>
</head>
<body>
<%
	String info="www.baidu.com";//定义字符串,按照“.”拆分
	pageContext.setAttribute("ref", info);//保证在 page 范围中
 %>
 <h3>拆分的结果是:
 <c:forTokens items="${ref}" delims="." var="con">
 	${con}、
 </c:forTokens>
 </h3>
  <h3>拆分的结果是:
 <c:forTokens items="I:am:Chaoyi" delims=":" var="con">
 	${con}、
 </c:forTokens>
 </h3>
</body>
</html>

 效果图:

 
<c:import>标签
<c:import>标签可以将其他页面的内容包含进来一起显示,这一点与<jsp:include>标签的功能类似,但是与<jsp:include>标签不同的是,<c:import>可以包含外部的页面,本标签语法如下:
<c:import url=“包含地址的URL” [context=“上下文路径”] [var=“保存内容的属性名称”]  [scope=“[page | request | session | application]”] [charEncoding=“字符编码”]  [varReader=“以Reader方式读取内容”]>  标签体内容
     [<c:param name="参数名称" value="参数内容"/>]
  </c:import>

 

<c:import>标签的属性

 

导入 http://www.csszengarden.com/ 站点

<%@ page language="java" contentType="text/html" pageEncoding="utf-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>导入 http://www.csszengarden.com/ 站点</title>
</head>
<body>
<c:import url="http://www.csszengarden.com/" charEncoding="utf-8"></c:import>
</body>
</html>

效果图:

  

接收参数

<%@ page language="java" contentType="text/html" pageEncoding="utf-8" %>
<h3>name 参数:${param.name}</h3>
<h3>url 参数:${param.url}</h3>

 

传递参数

<%@ page language="java" contentType="text/html" pageEncoding="utf-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>传递参数</title>
</head>
<body>
<c:import url="demo13Post.jsp" charEncoding="utf-8">
	<c:param name="name" value="chaoyi"></c:param>
	<c:param name="url" value="www.baidu.com"></c:param>
</c:import>
</body>
</html>

 效果图:

 

<c:url>标签
<c:url>标签可以直接在产生一个URL地址,语法如下:
<c:url value="操作的url" [context="上下文路径"] [var="保存的属性名称"]  [scope="[page | request | session | application]"]/>
<c:url value="操作的url" [context="上下文路径"] [var="保存的属性名称"]  [scope="[page | request | session | application]"]>
  <c:param name="参数名称" value="参数内容"/>
  </c:url>

<c:url>标签的属性

 

产生URL地址

<%@ page language="java" contentType="text/html" pageEncoding="utf-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>产生 URL 地址</title>
</head>
<body>
<c:url value="http://www.csszengarden.com/" var="urlinfo">
	<c:param name="author" value="chaoyi"></c:param>
	<c:param name="logo" value="yike"></c:param>
</c:url>
<a href="${urlinfo}">新的地址</a>
</body>
</html>

效果图:

 

<c:redirect>标签
在学习JSP内置对象的时候讲解过可以通过response.sendRedirect()操作进行客户端跳转,在JSTL中提供了一个与之类似的标签<c:redirect>,语法如下:
<c:redirect url="跳转的地址" context="上下文路径"/>
<c:redirect url="跳转的地址" context="上下文路径">
  <c:param name="参数名称" value="参数内容"/>
  </c:redirect>

 

<c:redirect>标签的属性

 
 客户端跳转到param.jsp文件之中

<%@ page language="java" contentType="text/html" pageEncoding="utf-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>客户端跳转到 demo13Post.jsp 文件中</title>
</head>
<body>
<c:redirect url="demo13Post.jsp">
	<c:param name="name" value="chaoyi"></c:param>
	<c:param name="url" value="www.baidu.com"></c:param>
</c:redirect>
</body>
</html>

 效果图:

 

小结
核心标签库完成了一些基本的操作功能,可以定义属性、输出、判断、迭代操作
从开发上来讲,判断、迭代操作使用较多。
  

 

 

  • 大小: 8 KB
  • 大小: 29.6 KB
  • 大小: 29.3 KB
  • 大小: 18.1 KB
  • 大小: 29.6 KB
  • 大小: 20.5 KB
  • 大小: 13.2 KB
  • 大小: 13.5 KB
  • 大小: 24.3 KB
  • 大小: 20.8 KB
  • 大小: 20 KB
  • 大小: 14.1 KB
  • 大小: 13.9 KB
  • 大小: 12 KB
  • 大小: 17.1 KB
  • 大小: 19.4 KB
  • 大小: 13.9 KB
  • 大小: 23.9 KB
  • 大小: 16.5 KB
  • 大小: 15.4 KB
  • 大小: 18.5 KB
  • 大小: 25.4 KB
  • 大小: 15.8 KB
  • 大小: 6.4 KB
  • 大小: 14.2 KB
  • 大小: 49.1 KB
0
0
分享到:
评论

相关推荐

    JSP核心标签库的使用,自己总结

    **JSP核心标签库的使用详解** JSP(JavaServer Pages)是一种动态网页技术,它允许开发者在HTML页面中嵌入Java代码以实现服务器端的交互功能。JSTL(JSP Standard Tag Library),即JSP标准标签库,是为了解决JSP中...

    JSTL核心标签库的jar包

    JSTL的核心标签库提供了处理流程控制、迭代、条件判断等功能,是Java Web开发中的重要组成部分。 在Java Web开发中,JSTL的核心标签库(Core Tag Library)包含以下几个主要方面: 1. **流程控制**: - `&lt;c:if&gt;`...

    jstl核心标签库案例与jar架包.zip

    本案例将详细介绍JSTL的核心标签库及其使用方法,并提供相关的jar包资源。** **一、JSTL简介** JSTL由五个主要的标签库组成:Core(核心库)、Format(国际化和格式化库)、SQL(数据库操作库)、XML(XML处理库)...

    struts整体架构及核心标签库的介绍

    **二、Struts核心标签库** Struts提供了丰富的JSP标签库,大大简化了视图层的开发,主要分为以下几类: 1. **Bean标签库**:用于处理和展示ActionForm中的属性,如`&lt;bean:define&gt;`, `&lt;bean:write&gt;`等。 2. **HTML...

    struts整体构架和核心标签库.

    Struts是一个开源的Java Web应用程序框架,由Apache软件基金会维护,用于帮助开发者...以上就是关于Struts框架的整体构架和核心标签库的介绍,通过学习和掌握这些知识点,开发者可以更高效地构建和管理Java Web应用。

    JSTL 核心标签库 使用

    《JSTL核心标签库使用详解》 JavaServer Pages Standard Tag Library(JSTL)是用于简化JSP开发的一种标准标签库,它提供了一系列的标签,使得开发者可以更方便地处理常见任务,如循环、条件判断、I/O操作等。本文...

    JSTL核心标签库使用范例

    本范例主要关注JSTL的核心标签库,该库包含了处理常见任务的标签,如流程控制、迭代、条件判断等。** **一、JSTL核心标签库介绍** JSTL的核心标签库(core library)包括以下主要部分: 1. `&lt;c:set&gt;`:设置变量。...

    JSTL 核心标签库

    JSTL(JavaServer Pages Standard Tag Library)核心标签库是Java Web开发中的一个强大工具,它提供了一系列预定义的标签,用于简化JSP页面的逻辑,提高代码的可读性和维护性。JSTL核心标签库主要包含四个类别:...

    JSTL标签核心标签库

    1. **核心标签库(Core tag library)**:这是最基础的标签库,包含了用于基本流程控制、数据输出和URL操作的标签,如`&lt;c:out&gt;`、`&lt;c:set&gt;`、`&lt;c:remove&gt;`、`&lt;c:if&gt;`、`&lt;c:forEach&gt;`等。 - `&lt;c:out&gt;`:用于输出数据,...

    JSTL核心标签库的一些应用

    【JSTL核心标签库应用详解】 JSTL(JavaServer Pages Standard Tag Library)是用于JSP的标准标签库,它提供了许多预定义的标签,帮助开发者编写更清晰、更易于维护的JSP页面。本篇将详细介绍JSTL的核心标签库,...

    jstl-1.0.2.jar jstl.jar J2EE核心标签库 jstlJ2EE核心标签库jstl.jar

    jstl-1.0.2.jar jstl.jar J2EE核心标签库 jstlJ2EE核心标签库jstl.jar

    jstl核心标签库使用说明

    本文将详细介绍JSTL的核心标签库及其常用功能。 1. **简介** JSTL 1.2是目前广泛使用的版本,它包含了五个主要的标签库: - **Core(核心标签库)**:提供基本的操作,如条件判断、循环控制等。 - **I18N(国际...

    day15--使用传统模式和简单模式开发标签,简单标签开发案例,使用JSTL核心标签库.pdf

    本篇主要讨论两种模式下开发自定义标签:传统模式和简单模式,并涉及JSTL(JavaServer Pages Standard Tag Library)的核心标签库的使用。 **一、传统标签开发模式** 1. **标签接口与执行流程** - 标签接口通常是...

    JSTL核心标签库.md

    JSTL核心标签库

    JSTL 核心标签库小例子

    本教程将通过一个小例子来深入理解JSTL核心标签库的使用。** 在JSTL中,核心标签库(core tag library)是最常用的一部分,它提供了处理控制流、URL生成、条件语句、迭代等功能。下面我们将逐一探讨这些标签的用法...

    strtus整体架构及核心标签库的介绍

    本文将深入探讨Struts框架的核心组成部分以及其提供的核心标签库。 1. **Struts 压缩包内容** 在`jakarta-struts-1.0.2`压缩包中,有两个主要目录:`lib`和`webapps`。`lib`目录包含了构建Struts应用所需的JAR文件...

    JSF 核心标签库,h和f标签

    JSF核心标签库,包括h,f~~~~~~~~

    jsp核心标签的使用方法

    在JavaServer Pages (JSP) 技术中,核心标签库是预定义的一组标签,它们为开发者提供了方便的方式来操作页面元素,如控制流程、输出数据、处理表单等。本篇文章将深入探讨JSP核心标签的使用方法,并介绍一些常用的...

    JSTL标签库下载和配置使用

    JSTL有多个模块,如`core`(核心标签库)和`fmt`(格式化标签库),可以根据需要添加更多模块。 ### 三、JSTL标签的使用 JSTL提供了丰富的标签,包括控制流标签(`if`, `choose`, `when`, `otherwise`等)、迭代...

Global site tag (gtag.js) - Google Analytics