无线&移动互联网技术研发

换位思考·····
posts - 19, comments - 53, trackbacks - 0, articles - 283
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

      JSTL是由JCP(Java Community Process)所制定的标准规范,它主要提供给Java Web开发人员一个标准通用的标签函数库。

l       JSTL所提供的标签函数库主要分为五大类:

Ø       核心标签库 (Core tag library)

Ø       I18N格式标签库 (I18N-capable formatting tag library)

Ø       SQL标签库 (SQL tag library)

Ø       XML标签库 (XML tag library)

Ø       函数标签库 (Functions tag library)

JSTL

前置名称

URI

范例

核心标签库

c

http://java.sun.com/jsp/jstl/core

<c:out>

I18N格式标签库

fmt

http://java.sun.com/jsp/jstl/fmt

<fmt:formatDate>

SQL标签库

sql

http://java.sun.com/jsp/jstl/sql

<sql:query>

XML标签库

xml

http://java.sun.com/jsp/jstl/xml

<x:forBach>

函数标签库

fn

http://java.sun.com/jsp/jstl/functions

<fn:split>

l       使用标准的uriprefix

Ø       tld文件放在WEB-INF或其子目录下面

Ø       WEB-INF/web.xml中定义taglib元素,指定自定义的uri及其对应的tld文件位置

    <taglib>

          <taglib-uri>/jstl/core</taglib-uri>

      <taglib-location>/WEB-INF/c.tld</taglib-location>

    </taglib>

Ø       JSP里使用自定义的uri

    <%@ taglib uri="/jstl/core" prefix="c" %>

以下主要说明了core标签库:

分类

功能分类

标签名称

core

表达式操作

out

set

remove

流程控制

if

choose

    when

    otherwise

迭代操作

forEach

forTokens

URL操作

redirect

应用时需要在JSP页面导入标签库:<%@ taglib uri="/jstl/core" prefix="c" %>

<c:out/>

属性:

EL

默认值

value

需要显示出来的值

Y

Object

default

如果value的值为null,则显示default的值

Y

Object

escapeXml

是否转换特殊字符,如:< 转换成 &lt;

Y

boolean

true

<c:set />

说明:主要用来将变量储存至JSP范围中或是JavaBean的属性中

属性:

EL

类型

必须

默认值

value

要被储存的值

Y

Object

var

欲存入的变量名称

N

String

scope

var变量的JSP范围

N

String

page

target

为一JavaBeanjava.util.Map对象

Y

Object

property

指定target对象的属性

Y

String

<c:remove />

说明:主要用来移除变量

属性:

EL

类型

必须

默认值

var

欲移除的变量名称

N

String

scope

var变量的JSP范围

N

String

page

<c:if />

属性

EL

默认值

test

如果表达式的结果为true

则执行本体内容,false则相反

Y

boolean

var

用来储存test运算后的结果,即truefalse

N

String

scope

var变量的JSP范围

N

String

page

<c:choose /><c:when /><c:otherwise />

说明:用途就和我们一般在程序中用的when一样

<c:choose>

  

   <c:when>

   </c:when>

  

   <c:otherwise>

   </c:otherwise>

  

</c:choose>

属性:

EL

类型

必须

默认值

test

如果表达式的结果为true,则执行本体内容,false则相反

Y

boolean

<c:forEach />

说明:循环控制,它可以将集合(Collection)中的成员循序浏览一遍。运作方式为当条件符合时,就会持续重复执行<c:forEach>的本体内容

属性:

EL

类型

必须

默认值

var

用来存放现在指到的成员

N

String

items

被迭代的集合对象

Y

Arrays

Collection

Iterator

Enumeration

Map

String

varStatus

用来存放现在指到的相关成员信息

N

String

begin

开始的位置

Y

int

0

end

结束的位置

Y

int

最后一个成员

step

每次迭代的间隔数

Y

int

1

varStatus属性的四个值:

index

number

现在指到成员的索引

count

number

总共指到成员的总数

first

boolean

现在指到的成员是否为第一个成员

last

boolean

现在指到的成员是否为最后一个成员

<c:forTokens />

说明:用来浏览一字符串中所有的成员,其成员是由定义符号(delimiters)所分隔的

属性:

EL

默认值

var

用来存放现在指到的成员

N

String

items

被迭代的字符串

Y

String

delims

定义用来分割字符串的字符

N

String

varStatus

用来存放现在指到的相关成员信息

N

String

begin

开始的位置

Y

int

0

end

结束的位置

Y

int

最后一个成员

step

每次迭代的间隔数

Y

int

1


 

URL 重写是由 <c:url/>操作自动执行的

<c:url value="/index.jsp" context="<%= request.getContextPath() %>" scope="request" var="indexUrl">

    <c:param name="param1">value1</c:param>

    <c:param name="param2">value2</c:param>

</c:url>

url重定向<c:redirect/>

<c:redirect>

    <c:param name=""></c:param>

</c:redirect>

格式化标签

以下四个是相对来说较常用的日期、数字的格式化

<fmt:formatDate value="" scope="" pattern="" var="" timeStyle="" timeZone="" type="" dateStyle=""/>

<fmt:parseDate value="" scope="" pattern="" var="" timeStyle="" timeZone="" dateStyle="" parseLocale="" type="" ></fmt:parseDate>

<fmt:formatNumber value="" scope="" currencyCode="" currencySymbol="" groupingUsed="" maxFractionDigits="" maxIntegerDigits="" minFractionDigits="" minIntegerDigits="" pattern="" type="" var=""></fmt:formatNumber>

<fmt:parseNumber value="" integerOnly="" parseLocale="" pattern="" scope="" type="" var=""></fmt:parseNumber>

以下涉及到地区环境、失去、properties配置文件、设置请求编码,这些功能不是很常用

<fmt:setLocale value="" scope="" variant=""/>

<fmt:timeZone value=""></fmt:timeZone>

<fmt:setTimeZone value="" scope="" var=""/>

<fmt:bundle basename="" prefix=""></fmt:bundle>

<fmt:setBundle basename="" scope="" var=""/>

<fmt:message bundle="" key="" scope="" var=""></fmt:message>

<fmt:param value=""></fmt:param>

<fmt:requestEncoding value=""/>


只有注册用户登录后才能发表评论。


网站导航: