• JSTL_Core标记库


    一.   说明

    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=”truedefault=”value值为空”/>
    
                       标记不包含内容:
    
                       <c:out escapeXml=”truedefault=”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
  • 相关阅读:
    vue-cli
    respond.js
    dataTable调用接口渲染数据,没有数据,报错
    jq自定义鼠标右键菜单
    datatables通过ajax调用渲染数据,怎么根据数据给td添加class
    【C++ Primer 第11章 练习答案】2. 关联容器概述
    【Leetcode】1. Two Sum
    【C++】拷贝构造函数(深拷贝,浅拷贝)详解
    【图的遍历】广度优先遍历(DFS)、深度优先遍历(BFS)及其应用
    【C++ Primer 第十三章】4. 拷贝控制示例
  • 原文地址:https://www.cnblogs.com/aihuadung/p/8594661.html
Copyright © 2020-2023  润新知