Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 870|回复: 0

JSTL标签库大全2

[复制链接]

该用户从未签到

发表于 2011-10-18 15:52:10 | 显示全部楼层 |阅读模式
if标签
              这个标签作用与java中的if语句作用相同,用于判断条件语句,主要的使用格式如下
1.       <c:if> 体中不包括体的使用格式:
<c:if test=”checkCondition” var=”varName” scope=”page|request|session|application”/>
       2.  <c:if> 体中包括体时,使用格式如下:
<c:if test=”checkCondition” var=”varName” scope=”page|request|session|application”>
       body content
</c:if>

      
标签中使用的属性说明:
              test :
判断条件的表达式,返回类型为true 或者 false;(也就是if的条件)
var : 这个变量用于保存test条件表达式判断所返回的true或者false
(if
条件执行后所得到的boolean值将要保存在var变量中).
              scope : 指定var变量所在的有效范围.
      
choose , when , otherwise 标签
       这些标签相当于java中的 switch , case , default 条件,使用实例如下:
       <c:set var=”num” scope=”page” value=”admin”/>
       <c:choose>
              <c:when test=”${num==’guest’}”>
                     <cut value=”guest”/>
              </c:when>
<c:when test=”${num==’admin’}”>
                     <c:out value=”admin”/>
              </c:when>
              <c:otherwise>
                     <c:out value=”other”/>
              </c:otherwise>
       </c:choose>
                            运行jsp页面后,输出 admin

forEach迭代标签
该标签用来对一个collection集合中的一系列对象进行迭代输出,并且可以指定迭代次数,一般的使用格式如下:
<c:forEach items=”collection” var=”varName” [varstatue=”varStatusName”] [begin=”begin”] [end=”end”] [step=”step”]>
       Body content
</c:forEach>
这个标签使用的属性描述如下:
1.       var : 也就是保存在collection集合类中的对象名称.
2.       items : 将要迭代的集合类名.
3.       varStatus : 存储迭代的状态信息,可以访问到迭代自身的信息.
4.       begin : 如果指定了begin,就表示从items[begin]开始迭代;如果没有指定begin,则从集合的第一个值开始迭代.
5.       end : 表示迭代到集合的end位时结束,如果没有指定end,则表示一直迭代到集合的最后一位.
6.       step : 指定迭代的步长.
:
       <%
              String Items[] =new String[5];
              Items[0]=”核心标签库”;
              Items[1]=”国际化标签库”;
              Items[2]=”SQL标签库”;
              Items[3]=”XML标签库”;
              Items[4]=”函数标签库”;
              Request.setAttribute(“ItemName”,Items);
%>
<B><c:out value=”不指定beginend的迭代:”/><B><br>
<c:forEach var=”ItemName” items=”${Items}”>
        <c:out value=”${ItemName}” /><br>
</c:forEach>

<B><c:out value=”指定beginend的迭代:”/><B><br>
<c:forEach var=”ItemName” items=”${Items}” begin=”1” end=”3” step=”1”>
        <c:out value=”${ItemName}” /><br>
</c:forEach>

<B><c:out value=”输出整个迭代的信息:”/><B><br>
<c:forEach var=”ItemName” items=”${Items}” begin=”3” end=”4” step=”1” varStatus=”s”>
        <c:out value=”${ItemName}” />的四种属性:<br>
        所在位置即索引: <c:out value=”${s.index}” /> <br>
        总共已迭代的次数: <c:out value=”${s.count}”/><br>
        是否为第一个位置: <c:out value=”${s.first}” /><br>
        是否为最后一个位置: <c:out value=”${s.last}”/>
</c:forEach>

代码说明:      s.index 用来获取计数器的值,  s.count用来获取这是第几次循环,  s.first 用来获取是否是循环开始的第一次 , s.last 用来获取是否是循环的最后一次 ,  first last 都返回boolean .
              
forTokens 标签
这个标签的作用和Java中的StringTokenizer类的作用非常相似,通过items属性来指定一个特定的字符串,然后通过delims属性指定一种分隔符(可以同时指定多个),通过指定的分隔符把items属性指定的字符串进行分组,forEach标签一样,forTokens标签也可以指定beginend以及step属性值.
使用格式如下:
<c:forTokens items=”stringOfTokens” delims=”delimiters” var=”varName” [varStatus=”varStatusName”] [begin=”begin”] [end=”end”] [step=”step”]>
              Body content
</c:forTokens>
标签中的各个属性描述如下:
1.       var : 进行迭代的参数名称.
2.       items : 指定的进行标签化的字符串.
3.       varSatus : 每次迭代的状态信息.
4.       delims : 使用这个属性指定的分隔符来分隔items指定的字符串.
5.       begin : 开始迭代的位置.
6.       end : 迭代结束的位置.
7.       step : 迭代的步长.
:
<c:out value=”forTokens标签实例”/>
<h4>使用” | ” 作为分隔符</h4>
<c:forTokens var=”token” items=”bleu,rouge|vert,jaune|blanc,rouge” delims=”|”>
         <c:out value=”${token}”/>
</c:forTokens>
<h4>使用” | , ”作为分隔符</h4>
<c:forTokens var=”token” items=”bleu,rouge|vert,jaune|blanc,rouge” delims=”|,”>
         <c:out value=”${token}”/>
</c:forTokens>
代码说明: delims=”|,” , 即使用”|””,”同时作为分隔符进行使用.如果需要更多的分隔符就是使用 “|,./” 在引号内输出.

URL相关的标签:
URL相关的标签主要用来将其他文件包含进来,或者提供页面之间的重定位以及URL地址的生成,参数的输出等.一般包括如下几个标签.
<c:import>标签: 与传统JSP页面重的<jsp:include>标签类似.
<c:redirect>标签: 进行页面的重定位.
<c:url> : 主要用来重写URL地址.
<c:param> : 一般param标签会与其他标签一起配套使用,用于参数值的传递.

<c:import> 标签:
      该标签用于把其他今天文件包含到该文件当中,它与传统的<jsp:include>相类似,不同的是<jsp:include>标签只能用来包括该应用中的其他文件,<c:import>还可以包含外部站点中的静态文件,所以它的功能更加强大.使用格式如下:
      <c:import url=”url” [context=”context”] [var=”varName”] [scope=”page|request|session|application”] [varReader=”varReader”] [charEncodion=”charEncoding”]>
      Body content
</c:import>
标签中的属性描述如下:
      url: 待引用静态文件的URL地址.
      context: 当采用相对路径访问一个外部静态文件时,这里的context指定这个外部文件的名称.
      var: 当使用字符串输出时,把输出的内容存储在这个var指定的变量中.
      scope: 指定var参数变量的有效范围.
      varReader: 这个属性指定的参数变量类型是Reader,可以用于读取文件的内容.
      charEncoding: 引入文件所采用的字符编码.
Import标签即可以采用相对路径也可以采用绝对路径来引用本地点中的任何静态文件,还可以使用绝对路径引用外部站点中的静态文, 甚至可以是ftp站点中的文件,例如:<c:import var=”myurl” url=”http://www.163.com” />就是引用http://www.163.com 站点的主页面.
可以把引用文件中的内容赋值给var属性指定的变量,然后进行读取,也可以赋值给varReader指定的Reader类型的变量,然后进行相应的读取.
有时引入的文件在本地显示会出现乱码,这时可以通过charEncoding来指定这些内容所采用的字符集编码.

<c:redirect><c:param>标签:
      Redirect标签用来进行页面之间的重定向,它与传统JSP程序重的<jsp:redirect>标签功能相类似,param标签是与redirect一起使用的,它用来进行参数值的传递,redirect标签的使用格式如下:
      <c:redirect url=”url” [context=”context”]/>
      redirect标签中指定param参数的使用格式如下:
      <c:redirect url=”url” []context=”context”>
             <c:param name=”paramName” value=”value”/>
      </c:redirect>
:  [通过创建c_redirect1.jsp   c_redirect2.jsp  两个文件说明]
      c_redirect1.jsp文件内容如下:
             <c:redirect url=”c_redirect2.jsp” >
                    <c:param name=”userName” value=”admin”/>
             </c:redirect>
      c_redirect2.jsp 文件内容如下:
             <body>
                    userName=<c:out value=”${param.userName}”>
             </body>
      c_redirect1.jsp页面文件内容不会显示,因为直接重定向到c_redirect2.jsp,重定向c_redirect2.jsp,页面中输出 userName=admin
回复

使用道具 举报

该用户从未签到

发表于 2011-10-22 10:10:51 | 显示全部楼层
谢谢分享啊啊。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2024-5-15 04:26 , Processed in 0.437421 second(s), 45 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表