一.   说明

  1. 如有转载,请标明出处
  2. 本博讲解JSTL中的core库
  3. 对标记属性进行介绍时,首先介绍必写的属性,然后带有默认值的属性,其次是其余属性,这三类属性中间用空行隔开

二:core标记库库

Core标记库提供JSP页面编程所需要的一般功能,Core标记库为显示,循环,迭代和设置变量等操作提供了最常用的定制标记,首先,在使用Core标记库的jsp文件开始部分,添加以下声明代码:

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

三:core标记

      1.<c:out>标记

      

用于在jsp中显示内容,作用与<%=param1%>类似

                  标记包含内容:

                   <c:out value=”欢迎访问” escapeXml=”true” default=”value值为空”/>

                   标记不包含内容:

                   <c:out escapeXml=”true” default=”value值为空”>

                            value

</c:out>

属性介绍:

         value:需要输出的内容,可以是EL表达式或者常量

         escapeXml:是否对输出内容中的<,>,.,&进行转义,默认值为true

default:如果value属性中的内容为空,则输出本属性中的内容,可以是el表达式

c:out

      2.<c:set>标记,很重要,相当于一门编程语言中的声明变量

      

用于将变量保存到Javabeans属性中或者jsp页面中的特定取值范围中

                   标记不包含内容:

                            命名变量在指定作用范围内:

                                     <c:set var=”name” scope=”page”>

                                               111

                                     </c:set>

                            为Javabeans属性赋值:

                                     <c:set target=”javabeans” property=”cc”>

                                               111

</c:set>

                   标记包含内容:

                            命名变量在指定作用范围内:

                                     <c:set value=”111” var=”name” scope=”page”/>

                            为Javabeans属性赋值:

                                     <c:set value=”111” target=”javabeans” property=”cc”/>

                            属性介绍:

                                     value:变量的内容,要保存的内容,可以是el表达式或变量

                                     var:要保存内容的变量名称

                                     scope:保存内容的作用范围,默认值:page

                                     target:要修改属性的对象名,一般是Javabeans对象名

                                     property:要修改Javabeans的属性

c:set

3.<c:remove>标记,用于删除变量

      

  示例代码:

                                     <c:remove var=”name” scope=”page”>

                            属性介绍:

                                     var:要删除的变量的名称

                                     scope:变量所属于的范围

c:remove

4.<c:catch>标记,捕捉代码中的错误并赋值给指定变量

      

 示例代码:

                                     <c:catch var=”name”>

                                               Body content

                                     </c:catch>

                            属性介绍

                                     Var:将违例信息保存到指定的变量中,这个属性可有可无

c:catch

5.<c:if> 用法与Java代码中的if代码的用法相同,标记可以包括内容,也可以不包括内容

      

 示例代码:

                                     <c:if test=”condition” var=”name” scope=”page”>

                                               Body content

                                     </c:if>

                                     属性介绍:

                                     test:判断的条件

scope:保存condition值的变量的作用范围,默认:page

                                     var:”存储判断条件的变量”

c:if

6.<c:choose>标记

不能单独使用,需要配合<c:when>或者<c:otherwise>使用

7.<c:when>,当满足条件时,执行,不满足时不执行,需要嵌套到<c:choose>标记里面

      

 示例代码:

                            <c:when test=”true”>

                                     Body content

        </c:when>

      属性介绍:

               test:如果该属性里面的值为真时执行该标记包含的代码,否则不执行,必须嵌套在<c:choose>标记里面,如果有<c:otherwise>标记,则必须在<c:otherwise>标记前面

c:when

8.<c:otherwise>标记

      

示例代码:

                            <c:otherwise>

                                     Body content

                            </c:otherwise>

                   该标记没有属性,同样需要嵌套到<c:choose>标记里面,如果<c:when>标记的条件都不满足时执行该标记,

c:otherwise

9.<c:forEach>迭代处理标记,可以处理:字符串,数组,map,Iterator和集合(Collection)对象,

      

  示例代码:

        String []names={“1”,”2”,”3”}

                            page.setAttribute(“names”,names);

                            <c:forEach var=”name” items=”names” varStatus=”varStatusName” begin=”0” end=”3” step=”1”>

                                     Body content

                            </c:forEach>

                   属性介绍:

                            var:”代表当前成员变量的名称”

                            items:遍历的集合或列表,数组,字符串等等

                            step:每次循环的长度,默认值1,

        begin:开始的位置,默认为0

                            end:结束的位置,默认为1

                            varStatus:无默认值,显示循环状态的变量

c:forEach

*varStatus属性列表

      

示例代码:

                            String []names={“1”,”2”,”3”}

                            page.setAttribute(“names”,names);

                            <c:forEach var=”name” items=”names” varStatus=”i” begin=”0” end=”3” step=”1”>

                                     Body content<br>

                                     Name:${name}<br>

                                     Index:${i.index}<br>

                                     Count:${i.count}<br>

                                     First:${i.first}<br>

                                     Last:${i.last}

                            </c:forEach>

                   属性介绍:

                            Index:当前位置

*varStatus

10.<c:forTokens>

      

如果一个字符串的成员是由分隔符号所分割的,就可以使用<c:forTokens>标记迭代处理被分隔的每个字符串片段,.常用的分隔符号可以是”.”,”.”,”|”和”/”等

                            示例代码:

                                     <c:forTokens items=”a:b:c:d” delims=”:” begin=”0” end=”3” step=”1” varStatus=”i” var=”name”>

                                               <c:out value=”${name}”/>

                                     </c:forTokens>

                            属性介绍:

                                     Items:需要进行分隔处理的字符串

                                     delims:分隔符号

                                     begin:开始索引 默认值:0

                                     end:结束索引,默认值:集合中最后一个成员的索引

                                     step:步长,默认:1

                                     var:代表当前成员变量的名称

                                     varStatues:包含遍历状态的变量

c:forTokens

11.<c:import>可以把其他静态或者动态文件包含到jsp页面中,

      

 和<jsp:include>的区别是<jsp:include>只能包含和自己在同一个web应用中的文件,<c:import> 还可以包含其他web应用或者其他网站中的文件

                   示例代码:

                            <c:import url=”url” context=”thiswebname” var=”name” scope=”page” charEncoding=”utf-8”>

                                     <c:param>

                            </c:import>

                            或者

                            <c:import url=”url” context=”thiswebname” varReader=”varReadername” scope=”page”>

                                     Body content

                            </c:import>

                   属性介绍:

                            url:需要导入页面的URL地址

                            context:本地的web应用的名字 ,默认值:当前应用的名字

                            charEncoding:设置导入数据的字符编码,默认值:ISO-8859-1

                            scope:接收导入文本的变量的作用范围

                            var:接收导入文本的变量的名称

                            varReader:用于接收导入文本的java.io.Reader变量的名称

c:import

12.<c:url>标记,可以输出一个URL地址:好处,不需要更改web应用名称,<c:param>可以传递参数

      

  示例代码:

                                     标签包括内容:

                                               <c:url value=”http:www.baidu.com” context=”thiswebname” var=”website”scope=”page”/>

                                     标签不包含内容:

                                               <c:url value=”http://www.baidu.com” context=”thiswebname” var=”website” scope=”page”>

                                                        <c:param>

                                               </c:url>

                            属性介绍:

                                     value=”url地址”

                                     context:web应用的名字,默认:当前web应用的名字

                                     var:保存URL地址的变量的名称 ,默认值:输出到当前页面

                                     scope:存储URL地址的变量的作用范围,默认值:page

c:url

13.<c:redirect>:请求重新定位到另外一个界面,使用效果与response.sendRedirect()方法相同

      

   示例代码:

                            <c:redirect url=”value” context=”context”/>

                            或者

                            <c:redirect url=”value” context=”context”>

                                     <c:param>

                            </c:redirect>

                   属性介绍:

                            url:url地址

                            context:要转向的web应用的名字,默认值:当前web应用的名字

c:redirect

JSTL_Core标记库的更多相关文章

  1. JSTL_XML标记库

    JSTL_XML 一:说明 如有转载请标明出处 必须包含的属性->有默认值的属性->其余属性,中间用回车隔开 二:XML标记库 Xml标记库主要功能就是为在jsp页面中操作xml提供便利支 ...

  2. JSTL_Format标记库

    JSTL_Format 一:JSTL Format标记库 如有转载,请标明出处 介绍标记属性的时候,按照顺序必须写的->带有默认值的->其他的,中间用回车隔开 在jsp问价开头加上 < ...

  3. JSTL教程 [JSP 标准标记库]

    JSTL教程- - JSP 标准标记库(JSP Standard Tag Library,JSTL)是一个实现 Web 应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断.数据管理格式 ...

  4. jstl_core标签库

    先导入这个 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 1 & ...

  5. 分布式人工智能标记语言(DAIML)示例

          DAIML(Distributed Artificial Intelligence Markup Language)是用于分布式人工智能系统中智能语言的标记库.DAIML主要分为Patte ...

  6. JSTL 核心标签库

    SP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签. 除了这些,它还提供了 ...

  7. JSTL标准标签库

    有时使用EL和标准动作达不到目的,于是就引入定制标记. 对于JSP页面创作人员来说,定制标记使用起来比脚本要容易一些.不过对于JAVA程序员来说,简历定制标记处理器反而更困难.幸运的是,已经有了一个标 ...

  8. JSP标记

    JSP标记是JSP页面中很重要的组成部分,JSP标记包括指令标记.动作标记和自定义标记.其中自定义标记主要讲述与Tag文件有关的Tag标记. 一 指令标记page Page指令标记,简称page指令, ...

  9. 使用Spring标签库

    A.Spring标签库 Web项目若使用Spring Web MVC并使用JSP作为表现的话.从Spring2.0版本开始提供一套标签库可供使用. 使用标签库无非是易于开发,维护之类云云.这里就不阐述 ...

随机推荐

  1. Android 展示控件之Surface、SurfaceView、SurfaceHolder及SurfaceHolder.Callback之间的关系

    一.Surface Surface在SDK的文档中的描述是这样的:Handle onto a raw buffer that is being managed by the screen compos ...

  2. Matplotlib 使用 - 《Python 数据科学手册》学习笔记

    一.引入 import matplotlib as mpl import matplotlib.pyplot as plt 二.配置 1.画图接口 Matplotlib 有两种画图接口: (1)一个是 ...

  3. 解决Python中PyCharm导入模块时,模块名下出现红色波浪线的问题

    在博主第一次在PyCharm中导入模块时,模块名下出现红色波浪线,不影响程序执行,但强迫症忍不了 以下是解决办法 Let's do it ... 进入设置,找到Console下的Python Cons ...

  4. 树莓派MQTT客户端搭建

    树莓派安装和实现MQTT协议 下载Mosquitto 更新软件源:sudo apt-get  update 下载g++编译器:sudo apt-get install g++ 安装:sudo apt- ...

  5. java基础-2

    java基础-2 面向对象 定义 面向对象是一种思维方式,相对于面向过程​面向过程注重流程中的每一步,清楚流程中的每一个细节​面向对象注重的是对象,有了对象就有对象的一届​自己动手做--面向过程,找其 ...

  6. 将本地代码上传到github走过的坑

    1.因为github是服务端,需要自己在自己的电脑上安装一个客户端git 2.配置SSH(配置一次就好了) github是不能随便上传代码上去的,而是通过一种网络协议---SSH授权的.SSH是一种网 ...

  7. Ocelot简易教程(二)之快速开始2

    为什么这篇的标题叫"Ocelot简易教程(二)之快速开始2"呢,因为很多朋友跟我说上一篇" Ocelot简易教程(二)之快速开始1"内容太少了,只是简单介绍Oc ...

  8. C#--对象转Json序列化

    前言 最近在研究Android项目,其中涉及到Android中解析Json数据的问题,需要模拟网络中传递Json数据的模式,因为以前是.net的工程师,所以想着从.net的平台开发服务,传递Json格 ...

  9. Ioc及Bean容器(三)

    专题一 IoC 接口及面向接口编程 什么是 IoC Spring 的Bean配置 Bean 的初始化 Spring 的常用注入方式 接口 用于沟通的中介物的抽象化 实体把自己提供给外界的一种抽象化说明 ...

  10. 第二次作业:分布式版本控制系统Git的安装与使用

    本次作业要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2103 第一个git仓库地址:https://github.com/ ...