jstl标签大汇总 总结免费.docx

上传人:b****8 文档编号:29868716 上传时间:2023-08-03 格式:DOCX 页数:17 大小:222.32KB
下载 相关 举报
jstl标签大汇总 总结免费.docx_第1页
第1页 / 共17页
jstl标签大汇总 总结免费.docx_第2页
第2页 / 共17页
jstl标签大汇总 总结免费.docx_第3页
第3页 / 共17页
jstl标签大汇总 总结免费.docx_第4页
第4页 / 共17页
jstl标签大汇总 总结免费.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

jstl标签大汇总 总结免费.docx

《jstl标签大汇总 总结免费.docx》由会员分享,可在线阅读,更多相关《jstl标签大汇总 总结免费.docx(17页珍藏版)》请在冰豆网上搜索。

jstl标签大汇总 总结免费.docx

jstl标签大汇总总结免费

jstl标签大汇总2012总结(免费)

JSTL核心标签库标签共有13个,功能上分为4类:

1.表达式控制标签:

out、set、remove、catch

2.流程控制标签:

if、choose、when、otherwise

3.循环标签:

forEach、forTokens

4.URL操作标签:

import、url、redirect

使用标签时,一定要在jsp文件头加入以下代码:

<%@taglibprefix="c"uri="

下面分别对这些标签进行说明:

1.

out>用来显示数据对象(字符串、表达式)的内容或结果

使用Java脚本的方式为:

<%out.println("hello")%><%=表达式%>

使用JSTL标签:

outvalue="字符串">,例如:

outvalue="<要显示的数据对象(未使用转义字符)>"escapeXml="true"default="默认值">

out>

outvalue="<要显示的数据对象(使用转义字符)>"escapeXml="false"default="默认值">

out>

outvalue="${null}"escapeXml="false">使用的表达式结果为null,则输出该默认值

out>

那么网页显示效果为:

2.

set>用于将变量存取于JSP范围中或JavaBean属性中。

下面的例子中假设已经有Person.java这个类文件。

<%@pagelanguage="java"import="java.util.*"pageEncoding="gb2312"%>

<%@pagecontentType="text/html;charset=utf-8"%>

useBeanid="person"class="lihui.Person">

useBean>

<%@taglibprefix="c"uri="

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">

JSTL测试

setvalue="张三"var="name1"scope="session">

set>

setvar="name2"scope="session">李四

set>

setvalue="赵五"target="${person}"property="name">

set>

settarget="${person}"property="age">19

set>

  • 从session中得到的值:

    ${sessionScope.name1}

  • 从session中得到的值:

    ${sessionScope.name2}

  • 从Bean中获取对象person的name值:

    outvalue="${person.name}">

    out>

  • 从Bean中获取对象person的age值:

    outvalue="${person.age}">

    out>

  • 一共有四种语法格式,前两种是给jsp的范围变量赋值,后两个是给javabean变量赋值

    效果如下:

    3.

    remove>主要用来从指定的jsp范围内移除指定的变量。

    使用类似,下面只给出语法:

    removevar="变量名"[scope="page|request|session|application"]>

    remove>

    4.

    catch>用来处理JSP页面中产生的异常,并存储异常信息

    catchvar="name1">

    容易产生异常的代码

    catch>

    如果抛异常,则异常信息保存在变量name1中。

    5.

    if>

    iftest="条件1"var="name"[scope="page|request|session|application"]>

    remove>

    例:

    setvalue="赵五"target="${person}"property="name">

    set>

    settarget="${person}"property="age">19

    set>

    iftest="${person.name=='赵武'}"var="name1">

    if>

    outvalue="name1的值:

    ${name1}">

    out>

    iftest="${person.name=='赵五'}"var="name2">

    if>

    outvalue="name2的值:

    ${name2}">

    out>

    效果:

    6.

    choose>

    when>

    otherwise>三个标签通常嵌套使用,第一个标签在最外层,最后一个标签在嵌套中只能使用一次

    例:

    setvar="score">85

    set>

    choose>

    whentest="${score>=90}">

    你的成绩为优秀!

    when>

    whentest="${score>=70&&score<90}">

    您的成绩为良好!

    when>

    whentest="${score>60&&score<70}">

    您的成绩为及格

    when>

    otherwise>

    对不起,您没有通过考试!

    otherwise>

    choose>

    7.

    forEach>

    语法:

    forEachvar="name"items="Collection"varStatus="statusName"begin="begin"end="end"step="step">

    forEach>

    该标签根据循环条件遍历集合Collection中的元素。

    var用于存储从集合中取出的元素;items指定要遍历的集合;varStatus用于存放集合中元素的信息。

    varStatus一共有4种状态属性,下面例子中说明:

    ViewCode

    显示效果:

    8.

    forTokens>用于浏览字符串,并根据指定的字符串截取字符串

    语法:

    forTokensitems="stringOfTokens"delims="delimiters"[var="name"begin="begin"end="end"step="len"varStatus="statusName"]>

    forTokens>

    还是看个例子吧:

    ViewCode

    显示结果:

    9.URL操作标签

    (1)

    import>把其他静态或动态文件包含到JSP页面。

    include>的区别是后者只能包含同一个web应用中的文件,前者可以包含其他web应用中的文件,甚至是网络上的资源。

    语法:

    importurl="url"[context="context"][value="value"][scope="..."][charEncoding="encoding"]>

    import>

    importurl="url"varReader="name"[context="context"][charEncoding="encoding"]>

    import>

    看个例子:

    ViewCode

    显示结果:

    URL路径有个绝对路径和相对路径。

    相对路径:

    importurl="a.txt"/>那么,a.txt必须与当前文件放在同一个文件目录下。

    如果以"/"开头,表示存放在应用程序的根目录下,如Tomcat应用程序的根目录文件夹为webapps。

    导入该文件夹下的b.txt的编写方式:

    importurl="/b.txt">。

    如果要访问webapps管理文件夹中的其他Web应用,就要用context属性。

    例如访问demoProj下的index.jsp,则:

    importurl="/index.jsp"context="/demoProj"/>.

    (2)

    redirect>该标签用来实现请求的重定向。

    例如,对用户输入的用户名和密码进行验证,不成功则重定向到登录页面。

    或者实现Web应用不同模块之间的衔接

    语法:

    redirecturl="url"[context="context"]/>

    或:

    redirecturl="url"[context="context"]>

    paramname="name1"value="value1">

    redirect>

    看个例子:

    1<%@pagecontentType="text/html;charset=GBK"%>

    2<%@taglibprefix="c"uri="

    3

    redirecturl="http:

    //127.0.0.1:

    8080">

    4

    paramname="uname">lihui

    param>

    5

    paramname="password">11111

    param>

    6

    redirect>

    则运行后,页面跳转为:

    http:

    //127.0.0.1:

    8080/?

    uname=lihui&password=11111

    (3)

    url>用于动态生成一个String类型的URL,可以同上个标签共同使用,也可以使用HTML的标签实验超链接。

    语法:

    urlvalue="value"[var="name"][scope="..."][context="context"]>

    paramname="name1"value="value1">

    url>

    或:

    urlvalue="value"[var="name"][scope="..."][context="context"]/>

    看个例子:

    ViewCode

    显示:

    JSTLfn标签  

    2007-07-2617:

    23:

    07|  分类:

    OPENSOURCE|  标签:

    |字号大中小 订阅

    <%@taglibprefix="fn"uri="%>

    方法的描述:

    函数名

    函数说明

    使用举例

    contains

    判断字符串是否包含另外一个字符串

    iftest="${fn:

    contains(name,searchString)}">

    containsIgnoreCase

    判断字符串是否包含另外一个字符串(大小写无关)

    iftest="${fn:

    containsIgnoreCase(name,searchString)}">

    endsWith

    判断字符串是否以另外字符串结束

    iftest="${fn:

    endsWith(filename,".txt")}">

    escapeXml

    把一些字符转成XML表示,例如<字符应该转为<

    ${fn:

    escapeXml(param:

    info)}

    indexOf

    子字符串在母字符串中出现的位置

    ${fn:

    indexOf(name,"-")}

    join

    将数组中的数据联合成一个新字符串,并使用指定字符格开

    ${fn:

    join(array,";")}

    length

    获取字符串的长度,或者数组的大小

    ${fn:

    length(shoppingCart.products)}

    replace

    替换字符串中指定的字符

    ${fn:

    replace(text,"-","•")}

    split

    把字符串按照指定字符切分

    ${fn:

    split(customerNames,";")}

    startsWith

    判断字符串是否以某个子串开始

    iftest="${fn:

    startsWith(product.id,"100-")}">

    substring

    获取子串

    ${fn:

    substring(zip,6,-1)}

    substringAfter

    获取从某个字符所在位置开始的子串

    ${fn:

    substringAfter(zip,"-")}

    substringBefore

    获取从开始到某个字符所在位置的子串

    ${fn:

    substringBefore(zip,"-")}

    toLowerCase

    转为小写

    ${fn.toLowerCase(product.name)}

    toUpperCase

    转为大写字符

    ${fn.UpperCase(product.name)}

    trim

    去除字符串前后的空格

    ${fn.trim(name)} 

    函数

    描述

    fn:

    contains(string,substring)

    如果参数string中包含参数substring,返回true

    fn:

    containsIgnoreCase(string,substring)

    如果参数string中包含参数substring(忽略大小写),返回true

    fn:

    endsWith(string,suffix)

    如果参数string以参数suffix结尾,返回true

    fn:

    escapeXml(string)

    将有特殊意义的XML(和HTML)转换为对应的XMLcharacterentitycode,并返回

    fn:

    indexOf(string,substring)

    返回参数substring在参数string中第一次出现的位置

    fn:

    join(array,separator)

    将一个给定的数组array用给定的间隔符separator串在一起,组成一个新的字符串并返回。

    fn:

    length(item)

    返回参数item中包含元素的数量。

    参数Item类型是数组、collection或者String。

    如果是String类型,返回值是String中的字符数。

    fn:

    replace(string,before,after)

    返回一个String对象。

    用参数after字符串替换参数string中所有出现参数before字符串的地方,并返回替换后的结果

    fn:

    split(string,separator)

    返回一个数组,以参数separator为分割符分割参数string,分割后的每一部分就是数组的一个元素

    fn:

    startsWith(string,prefix)

    如果参数string以参数prefix开头,返回true

    fn:

    substring(string,begin,end)

    返回参数string部分字符串,从参数begin开始到参数end位置,包括end位置的字符

    fn:

    substringAfter(string,substring)

    返回参数substring在参数string中后面的那一部分字符串

    fn:

    substringBefore(string,substring)

    返回参数substring在参数string中前面的那一部分字符串

    fn:

    toLowerCase(string)

    将参数string所有的字符变为小写,并将其返回

    fn:

    toUpperCase(string)

    将参数string所有的字符变为大写,并将其返回

    fn:

    trim(string)

    去除参数string首尾的空格,并将其返回

     

    JSTL常用标签汇总

    JSTL的核心标签库主要包括:

    表达式操作、流程控制、迭代操作和URL操作。

    以下是JSTL常用标签的用法总结:

    一、表达式操作

    1.

    out>

    作用:

    用于显示数据的内容。

    语法1:

    没有本体内容

     

    outvalue="value"[escapeXml="{true|false}"][default="defaultValue"]/>

    语法2:

    有本体内容

     

    outvalue="value"[escapeXml="{true|false}"]>

      defaultvalue

     

    out>

    属性说明:

     value:

    需要显示出来的值。

     default:

    如果value的值为null时,则显示default指定的值。

     escapeXml:

    是否转换特殊字符,默认为true。

    即默认会将<、>、’、”和&转换为<、>、'、"和&。

    如果设为     false,则不进行转换。

    2.

    set>

    作用:

    用于将变量的值存储在JSP范围中或JavaBean的属性中。

    语法1:

    将value的值存储在范围为scope的varName变量中

     

    setvalue="value"var="varName"[scope="{page|request|session|application}"]/>

    语法2:

    将本体内容的数据存储在范围为scope的varName变量中

     

    setvar="varName" [scope="{page|request|session|application}"]>

     ...本体内容

     

    set>

    语法3:

    将value的值存储在target对象的propertyName属性中

     

    setvalue="value"target="target"property="propertyName"/>

    语法4:

    将本体内容的数据存储在target对象的propertyName属性中

     

    settarget="target"property="propertyName">

     ...本体内容

     

    set>

    属性说明:

     value:

    要被存储的值。

     var:

    欲存入的变量名称。

     scope:

    var变量的JSP范围。

    默认为page范围。

     target:

    为一JavaBean或Map对象。

     property:

    指定的target对象的属性。

    3.

    remove>

    作用:

    移除变量。

    语法:

    removevar="varName"[scope="{page|request|session|application}"]/>

    属性说明:

     var:

    要移除的变量。

     scope:

    var变量所在的JSP范围,默认为page范围。

    4.

    catch>

    作用:

    用于处理产生错误的异常情况,并将错误信息存储起来。

    语法:

     

    catch[var="varName"]>

     ...欲抓取错误的部分

     

    catch>

    属性说明:

     var:

    将错误信息存储在指定的变量中,可以通过该变量获取错误信息。

    二、流程控制

    1.

    if>

    作用:

    类似if判断语句,用于表达式判断。

    语法1:

    没有本体内容

     

    iftest="testCondition"var="varName"[scope="{page|request|session|application}"]/>

    语法2:

    有本体内容

     

    iftest="testCondition"[var="varName"][scope="{page|request|session|application}"]/>

     ...本体内容

     

    if>

    属性说明:

     test:

    当该属性中的表达式运算结果为true,则会执行本体内容,为false则不执行,该标签必须要有test属性。

     var:

    存储test的运算结果,为true或false。

     scope:

    var变量的JSP范围。

    2.

    choose>、

    when>、

    otherwise>

    作用:

    这三个标签必须组合使用,用于流程控制。

    范例:

    choose>

    whentest="${condition1}">

    condition1为true

    when>

    whentest="${condition2}">

    condition2为true

    when>

    otherwise>

    condition1和condition2都为false

    otherwise>

    choose> 

    范例说明:

    当condition1为true时,会显示“condition1为true”;当condition1为false且condition2为true时,会显示“condition2为true”,如果两者都为false,则会显示“condition1和condition2都为false”。

    注意:

    若condition1和condition2的运算结果都为true时,此时只会显示"condition1为true"。

    限制说明:

     a.

    when>和

    otherwise>标签必须在

    choose>和

    choose>之间使用。

     b.在同一个

    choose>中,

    otherwise>必须是最后一个标签,且只能有一个

    otherwise>标签。

    when>可以有多个。

     c.在同一个

    choose>中,当所有

    when>的test都为false时,才执行

    otherwise>的本体内容。

    三、迭代操作

    1.

    forEach>

    作用:

    为循环控制,它可以将集合(Collection)中的成员循序浏览一遍。

    运作方式为当条件符合时,就会持续重复执行

    forEach>的本体内容。

    语法1:

    迭代一个集合对象中的所有成员

     

    forEachitems="collection"[var="varName"][varStatus="varStatusName"][begin="begin"][end="end"][step="step"]/>

     ...本体内容

     

    forEach>

    语法2:

    迭代指定次数

     

    forEach[var="varName"][varStatus="varStatusName"]begin="begin"end="end"[step="step"]>

     ...本体内容

     

    forEach>

    属性说明:

     items:

    被迭代的集合对象。

     var:

    存放当前指到的集合对象中的成员。

     varStatus:

    存放当前指到的成员的相关信息。

    (index:

    当前指到的成员的索引;count:

    当前总共指到成员的总数;first:

    当前指到的成员    是否为第一个成员;last:

    当前指到的

    展开阅读全文
    相关资源
    猜你喜欢
    相关搜索

    当前位置:首页 > 求职职场 > 社交礼仪

    copyright@ 2008-2022 冰豆网网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1