JSTL核心标签

本文引用于-21天学通javaweb开发,仅用于学习交流。

jsp页面要使用格式化标签,必须使用<%@ taglib %>指令,指定格式化标签。代码如下

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

1.<c:set>标签:

jstl提供了能方便定义变量的标签<c:set>,能够将变量存储在JSP范围中或JavaBean属性中.其语法分为以下5种.

1) 指定变量名及变量值,不指定scope(范围)

<c:set var="username" value="value"></c:set>

2)将value的值储存到范围scope的变量中.

<c:set var-="username" value="value" scope="page | request | session | application "></c:set>

3)将本体内容的数据存储至范围为scope的变量中。

<c:set var="varname" scope="page | request | session | application ">本体内容</c:set>

4)将value值储存到target对象的属性中。

<c:set value="value" target="target" property="propertyName"></c:set>

5)将本体内容的数据存储到target对象的属性中。

<c:set target="target" property="propertyName">本体内容</c:set>

2.<c:out>标签

<c:out>用来显示数据的内容,类似与<%= %>,功能比较强大.使用<c:out>输出内容比使用Scriptlests代码简单,利于页面维护.其语法如下:

1)通过在<c:out>中的value属性指定需要显示的值。

<c:out value="value">

2)通过escapeXml属性设置是否将value中的内容按照原样输出.因为<c:out>默认将< > 、 “ 转换成&lt &gt &#039 &#034 &amp 。如果不想转换,需指定为false

<c:out value ="value” escapeXml=“true | false”/>

3)通过 default属性来指定默认值,如果value的值为null则显示default的值.

<c:out  value="value"  default="No data">

4)通过本体内容来指定默认值。如果value的值为null 则显示default的值。

<c:out  value="value"  escapeXml="true| false">本体内容</c:out>

3.<c:remove>标签

<c:remove>操作用来移除指定范围的变量.其语法如下:

<c:remove  var="number"  scope="session">

var属性指定待删除变量的名称,scope属性是可选的,用来指定删除变量的范围,默认为page.

4.<c:if>标签

<c:if>标签用来执行流程控制,功能与java中的if完全相同.其有两种形式.一种没有本体内容,一种有本体内容.

1)没有本体内容的<c:if>标签格式:

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

其中 test 属性害死必须填写的,表示进行判断的表达式.属性var定义变量,该变量存放判断后的结果.scope表示var定义变量的存储范围.

2)有本体内容的<c:if>标签格式:

<c:if  test = "testCondition"  var="varName"  [scope="page | request | session | application "] >本体内容</c:if>

其中 test 属性必须填写,表示进行判断的表达式,属性var定义变量,该变量存放判断后的结果.scope表示var定义变量存储的范围.

5.<c:choose>  <c:when>  <c:otherwise>标签

<c:if>标签只能判断一个表达式,而且无法指定如果表达式不成立的执行语句.JSTL提供了类似 if...else...的语句<c:choose>标签

<c:choose>本身只能当做<c:when>和<c:otherwise>的标签.其中可以有一个或多个<c:when>标签.有零个或多个<c:otherwise>标签.语法如下:

<c:choose>

..

<c:when  test="testCondition">**</c:when>

..

<c:otherwise>**</c:otherwise>

</c:choose>

6.<c:forEach>标签

<c:forEach>标签两种语法格式.一种是遍历集合对象的成员,一种用来使语句循环执行指定的次数.

1)<c:forEach>遍历集合对象的成员,语法:

<c:forEach  [var="varname"]  items="collection"  [varStatus="varStatusName"]  [begin="begin"]  [end="end"]  [step="step"]>本体内容<c:forEach>

其中 var 用来存放现在指定到的成员. items 指被迭代的集合对象.  varStatus 用来存放现在指到的有关成员的信息. begin 表示开始位置(默认 0).

  end 表示结束位置. step 表示步长(默认 1)

2)<c:forEarch>指定语句执行次数,.语法:

<c:forEach  [var="varname"]  [varStatus="varStatusName"]  [begin="begin"]  [end="end"]  [step="step"]>本体内容</c:forEach>

注意:a) 如果指定了  begin  的属性,那么  begin  必须大于 0  ;b)如果指定了  end 属性,那么 end 属性必须大于 begin ;c)如果指定了 step ,属性大于0

<c:forEach>提供了 varStatus 属性,主要用来存放现在指到的成员的相关信息.  如: varStatus="s" 会将信息存放在名称为s的属性中.

varStatus的属性说明;

属行类型意义
indexnumber现在指到的成员的索引
countnumber总共指到的成员的总数
firstboolean现在指到的成员是否为第一个成员
lastboolean现在指到的成员是否为最后一个成员

7.<c:forTokens>标签

<c:forTokens>用来指定分隔符分隔字符串.语法:

<c:forTokens  [var="varname"]  items="stringofTokens"  delimes="delimiters"  [varStatus="varStatusName"]  [begin="begin"]  [end="end"]  [step="step"]>

本体内容<c:forTokens>

其中 var , varStatus , begin , end , step 属性和<c:forEach>标签中的用法一样. 

items 属性表示被分隔的字符串,  delims 属性指定分隔符.

<c:forTokens>不仅可以仅有一个分隔符的字符串,也可以通过设定多个分隔符来分隔有多个分隔符的字符串,只需要设置多个分隔符就可以了,

8.<c:import>标签

<c:import>可以把其他静态或动态的文件包含到本身的JSP网页中,它和JSP动作指令的<jsp:include>最大的差别在于:

<jsp:include>只能包含和自己在同一 web application的文件.

而<c:import>除了能够包含和自己同一web application的文件外.也可以包含不同web application或其他网站的文件.其语法如下:

<c:import  url="url"  [context="context"]  [var="varname"]  [scope="page | request | session | application"]  [charEncoding="charEncoding"]>

本体内容</c:import>

或者:

<c:import  url="url"  [context="context"]  varReader="varReaderName"  [charEncoding="charEncoding"]>

本体内容</c:import>

<c:import>属性说明

属性说明类型是否必需默认值
url被包含文件的地址String
context同一Web容器下,其他web站点必须以"/"开头String
var存储被包含文件的内容(以String类型存入)String
scopevar变量的存储范围String
charEncoding被包含文件的编码格式String
varReader存储被包含文件的内容(以Reader类型存入)String

9.<c:param>标签

<c:param>标签用来传递参数,其包含两个参数.,<c:param>包含两个属性name和value。

<c:param>属性说明

属性说明类型是否必需默认值
name参数名称String
value参数值String本体内容

在<c:import>标签的本体内容中使用<c:param> 其功能主要是:可以将参数传递给被包含的文件

10.<c:url>标签

<c:url>标签用来生成URL,其语法分为两种,一种是不带参数的,一种是带参数的。语法:

1)不带参数的:

<c:url  value="value"  [context="context"]  [var="varName"]  [scope="page | request | session | application"] />

2)带参数:

<c:url  value="value"  [context="context"]  [var="varName"]  [scope="page | request | session | application"] >

<c:param>标签

</c:url>

<c:url>属性说明

属性说明类型是否必需默认值
value执行的URLString
context同一Web容器下,其他web站点必须以"/"开头String
var存储被包含文件的内容(以String类型存入)String
scopevar变量的存储范围Stringpage

11.<c:redirect>标签

使用<c:redirect>可以从一个JSP页面跳转到其他的页面上去,而且可以通过<c:param>标签传递参数。一种是不带参数,一种是带参数

1)不带参数的:

<c:redirect  url="url"  [context="context"] />

2)带参数:

<c:redirect  uel="url"  [context="context"] > 

<c:param>

</c:redirect>

<c:redirect>属性说明

属性说明类型是否必需默认值
url跳转的目标地址String
context同一Web容器下,其他web站点必须以"/"开头String


如果有写错的地方,请指出。我会跟正的。谢谢。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值