JSTL标签(可以直接在jsp页面格式化)

33 篇文章 0 订阅
18 篇文章 0 订阅

JSTL核心标签

在JSP页面中要使用到核心标签,必须使用<%@taglib%>指令,指定核心标签。代码如下。

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

 

<c:set>标签

JSTL提供了能方便定义变量的标签<c:set>,能够将变量储存在JSP范围中或者JavaBean属性中。其语法格式分为如下五种。

(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值储存到targer对象的属性中。

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

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

<c:set target=”target” property=”propertyName”>

本体内容

</c:set>

 

<c:out>标签

<c:out>用来显示数据的内容,类似于<%=%>但是功能要更加强大。使用<c:out>输出内容比使用Scriptlets代码要更加简单,方便页面维护。其语法格式分为如下五种。

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

<c:out value="value"/>

(2)通过escapeXml属性设置是否将value中的内容按照原样输出。因为<c:out>默认会将<、>、’、”、&转换成&lt;、&gt;、&#039;、&#034;和&amp;。如果不想转换,只需要设定escapeXml属性为“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>

 

<c:remove>标签

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

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

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

<c:if>标签

<c:if>标签用来执行流程控制,其功能和Java语言中的if完全相同。<c: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}]” >

本体内容

</if>

其中test属性是必须填写的,当test中表达式的结果为true时,则会执行本体内容;如果为false则不会执行。

 

<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:oherwise>

</c:oherwise>

</c:choose>

 

<c:forEach>标签

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

(1)<c:forEach>遍历集合对象的成员,语法格式如下。

<c:forEach [var=”varname”] items=”collection” [varStatus=”varStatusName”] [begin=”begin”] [end=”end”] [step=”step”]>

本地内容

</forEach>

其中“var”用来存放现在指到的成员。“items”指被迭代的集合对象。“varStatus”用来存放现在指到的相关成员的信息。“begin”表示开始位置(默认为0)。“end”表示结束位置。“step”表示步长(默认为1)。

(2)<c:forEach>指定语句执行次数,其语法格式如下。

<c:forEach [var=”varname”] [varStatus=”varStatusName”] [begin=”begin”] [end=”end”] [step=”step”]>

本地内容

</forEach>

 

<c:forTokens>标签

<c:forTokens>用来根据指定分隔符分割字符串。其语法格式如下。

<c:forTokens [var=”varname”] items=”stringOfTokens” delims=”delimiters” [varStatus=”varStatusName”] [begin=”begin”] [end=”end”] [step=”step”]>

本地内容

</c:forTokens>

其中“var”、“varStatus”、“begin”、“end”、“step”属性和<c:forEach>标签中用法一样。“items”属性表示被分割的字符串,“delims”属性指定分隔符。

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

 

<c:import>标签

<c:import>可以把其他静态或动态的文件包含到本身的JSP网页中。它和JSP动作指令的<jsp:include>最大的差别在于:<jsp:include>只能包含和自己在同一Web application下的文件;而<c:import>除了能够包含和自己的同一Web application的文件外。也可以包含不同Web application或者其他网站的文件。

<c:import>的语法格式如下。

<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:param>标签

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

< c:param>的语法格式如下。

<c:param name=“参数名”value=“参数值”>

 

I18N格式化标签库

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

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

 

<fmt: formatNumber>标签

<fmt: formatNumber>会根据区域或是定制的方式将数字格式化成数字、货币或百分比。语法分为两种,一种是没有本体内容,使用value属性来指定要格式化的数字;一种有本体内容,使用本体内容来指定要格式化的数字。

<fmt:formatNumber value=”number” [type={number | currency | percent}]

[pattern=”pattern”]

[currencyCode=” currencyCode”]

[currencySymbol=” currencySymbol”]

[groupingUsed=”{true | false}”]

[maxIntegerDigits=” maxIntegerDigits”]

[minIntegerDigits=” minIntegerDigits”]

[maxFractionDigits=” maxFractionDigits”]

[minFractionDigits=” minFractionDigits”]

[var=”varName”]

[scope=”{page | request | session | application}”]

/>

 

<fmt: parseNumber>标签

<fmt: parseNumber>用来将字符串类型的数字、货币或百分比转换成数字类型。和<fmt: formatNumber>标签的作用正好相反。语法同样分为两种,一种是没有本体内容,使用value属性来指定要转换成数字的字符串;一种有本体内容,使用本体内容来指定转换成数字的字符串。

<fmt: parseNumber value=”numberString” [type={number | currency | percent}]

[pattern=”pattern”]

[parseLocale=” parseLocale”]

[integerOnly=”{false | true}”]

[var=”varName”]

[scope=”{page | request | session | application}”]

/>

 

<fmt: formatDate>标签

<fmt: formatDate>会根据区域或是定制的方式将日期或时间格式化,用来将日期类型转化成字符串类型日期。其语法格式如下。

<fmt: formatDate value=”number” [type={time | date | both}]

[pattern=”pattern”]

[dateStyle=”{default | short | medium | long | full}”]

[timeStyle=”{default | short | medium | long | full}”]

[timeZone=” timeZone”]

[var=”varName”]

[scope=”{page | request | session | application}”]

/>

 

<fmt: parseDate>标签

<fmt: parseDate>用来将字符串类型的时间或日期转换成日期时间类型。和<fmt: formatDate>标签的作用正好相反。语法同样分为两种,一种是没有本体内容,使用value属性来指定要转换成日期时间的字符串;一种有本体内容,使用本体内容来指定转换成日期时间的字符串。

<fmt: parseDate value=”date” [type={time | date | both}]

[pattern=”pattern”]

[dateStyle=”{default | short | medium | long | full}”]

[timeStyle=”{default | short | medium | long | full}”]

[timeZone=” timeZone”]

[var=”varName”]

[scope=”{page | request | session | application}”]

/>

 

<fmt: setTimeZone>标签

<fmt: setTimeZone>用来设定默认时区或者是将时区储存到属性范围中。其语法格式如下。

<fmt:setTimeZone value=”timeZone” [var=”varName”]

[scope=”{page | request | session | application}”]

/>

<fmt: timeZone>标签

<fmt: timeZone>用来暂时的设定时区。其语法格式如下。

<fmt:timeZone value=”timeZone”>

本体内容

</fmt:setTimeZones>

 

<fmt: setLocale>标签

<fmt: setLocale>标签用来设定用户的区域语言。这里所指的区域语言是指用户所在地区使用的语言种类以及国家和地区的综合。比如中国内地所使用的语言为中文,语言代码为“zh”,而地区代码为“cn”,所以中国内地的语言区域为“zh_cn”。

<fmt:setLocale>的语法格式如下。

<fmt:setLocale value=”locale” [variant=”variant”]

[scope=”{page | request | session | application}”]

/>

 

<fmt: requestEncoding>标签

<fmt: requestEncoding>用来设定接受的字符串的编码格式,与request.setCharacterEncoding()功能一样。<fmt: requestEncoding >的语法格式如下。

<fmt: requestEncoding value=”charseName”/>

<fmt: setBundle>标签

<fmt: setBundle>用来设定默认的数据来源,也可以将储存到一定范围中,供需要时使用。<fmt: setBundle>的语法格式如下。

<fmt: setBundle basename=” basename” [var=”varName”]

[scope=”{page | request | session | application}”]

/>

 

<fmt: message>标签

<fmt: message>用来从指定的资源文件中通过索引(key)取得值(value)。其语法分为两种,一种是没有本体内容,使用key属性来指定要索引;一种有本体内容,使用本体内容来指定索引。语法格式如下。

<fmt: message key=”messageKey” [bundle=”resourceBundle”]

[var=”varName”]

[scope=”{page | request | session | application}”]

/>

 

<fmt: param>标签

当从资源文件中取得信息时,可能需要动态设定参数,例如用户名等。这是就需要通过<fmt:param>来传递参数。其语法分为两种,一种是没有本体内容,使用value属性来指定要参数值;一种有本体内容,使用本体内容来指定参数值。语法格式如下。

没有本体内容。

<fmt:param value=”messageParameter”/>

有本体内容。

<fmt:param value=”messageParameter”>

参数值

</fmt:param>

 

<fmt: bundle>标签

<fmt: bundle>同样用来设定数据来源,但是与<fmt: setBundle>不同的是,<fmt: bundle>设定数据来源只对本体内容中的标签有效。其语法格式如下。

<fmt:bundle basename=”basename” [prefix=”prefix”]>

本体内容{<fmt:message>}

</fmt:bundle>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值