jstl标签大汇总 总结免费.docx
- 文档编号:29868716
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:17
- 大小:222.32KB
jstl标签大汇总 总结免费.docx
《jstl标签大汇总 总结免费.docx》由会员分享,可在线阅读,更多相关《jstl标签大汇总 总结免费.docx(17页珍藏版)》请在冰豆网上搜索。
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">
setvalue="张三"var="name1"scope="session">
set>
setvar="name2"scope="session">李四
set>
setvalue="赵五"target="${person}"property="name">
set>
settarget="${person}"property="age">19
set>
${sessionScope.name1}
${sessionScope.name2}
outvalue="${person.name}">
out>
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: 当前指到的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- jstl标签大汇总 总结免费 jstl 标签 汇总 总结 免费