jstl部分标签整理
来源:互联网 发布:淘宝违规考试答案2013 编辑:程序博客网 时间:2024/06/05 04:25
EL表达式
用于jsp页面存取数据,简化表达。
结构
${expression}
可通过 . 和 []两个符号取值。
原理是依次从 Page, Request, Session, Application域中取值。
四个域在表达式中对应的名称为PageScope, RequestScope, SessionScope, Application
可通过<%@ page isELIgnored=”true”%>来设置页面是否使用EL表达式。
JSTL(JSP Standard Tag Libarary)
是一个JSP标签的集合,可以用于简化页面上的java代码书写,让JSP页面更具可读性。
其中按照功能将标签划分为以下5类:
1. 核心标签 2. 格式化标签 3. SQL标签 4. XML标签 5. JSTL函数
JSTL标签的使用需要导入 jstl.jar 和 standard.jar 文件
使用示例
核心标签,引用核心标签库的语法,在JSP页面的头部加入
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
c:out: 输出文本内容
<c:out value="value" escapeXml="false">defaultValue</c:out>
显示: value value: 输出的文本内容 escapeXml: 是否忽略xml字符 defaultValue: value==null时,显示该字符串
set:设置变量的值
<c:set var="varname" value="varvalue" scope="session"></c:set> <c:out value="${varname}" scapeXml="false">defaultValue</c:out>
显示:varvalue var:变量的名称 value:变量的值 scope:变量的作用域
c:if:条件判断
<c:if test="${1<2}" var="result" scope="session"> <c:out value="${result}"escapeXml="false"/> </c:if>
显示:true test:条件的结果 var:存储结果的变量 scope:变量的作用域
choose, when, otherwise:多条件选择
<c:choose> <c:when test="{1<2}"> <c:out value="when"></c:out> </c:when> <c:otherwise> <c:out value="otherwise"></c:out> </c:otherwise> </c:choose>
显示:otherwise
c:foreach:用于循环迭代
<c:forEach begin="1" end="4" step="1" var="i"> <c:out value="${i}"></c:out> </c:forEach>
显示:1234
<c:forEach items="${iList}" var="i"> <c:out value="${i}"></c:out> </c:forEach>
iList:{0, 1, 2} 显示:0 1 2 items:被迭代的对象 var: 迭代中的单项 begin:迭代开始的数 end: 迭代结束的数 step: 迭代的跨度
c:forTokens :通过指定分隔符将字符串分割后迭代
<c:forTokens items="1,2,3,4" delims="," var="i"> <c:out value="${i}"></c:out> </c:forTokens>`
delims:指定的分隔符
c:import 相当于,用于引入外部资源
<c:import url="" var="urltext" charEncoding="utf-8">
url:引进资源的地址var:存储资源文本的变量
c:param:重定向时携带的参数
<c:param name="param" value="value"/>
c:redirect:重定向
<c:redirect url="redirect.html"/>
JSTL函数
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
fn:contains() 一个字符串中是否包含指定字符串
<c:if test="${fn:contains('123', '12')}"> <c:out value="contain"></c:out> </c:if>
显示:contain
fn:containsIgnoreCase(str1, str2):忽略大小写的情况下确定str1是否包含str2
fn:endWith(str1, str2):str1是否以str2结尾
fn:indexOf(str1, str2):返回str2在str1中出现的位置
<c:set var="result" value="${fn:indexOf('01234', '2')}"/> <c:out value="${result}"></c:out>
显示:2
fn:split(str1, delim):str1以delim分隔符分隔后以数组返回
fn:join(arr, delim) : arr以delim连接返回字符串
<c:set var="str1" value="1,2,3,4,5,6,7"/> <c:set var="arr" value="${fn:split(str1, ',')}"/> <c:set var="str2" value="${fn:join(arr, '-')}"/> <c:out value="${str2}"></c:out>
显示:1-2-3-4-5-6-7
fn:length(list):返回list长度
fn:replace(str, oldstr, newstr):将str中oldstr的newstr部分替换
<c:set var="str1" value="1,2,3,4,5,6,7"/> <c:set var="str2" value="${fn:replace(str1, '4', 'newstr')}"/> <c:out value="${str2}"></c:out>
显示:1,2,3,newstr,5,6,7
fn:startsWith(str, pref):返回str是否以pref开始
<c:set var="str" value="${fn:startsWith('123', '12')}"/> <c:out value="${str}"></c:out>
显示:true
fn:substring(str, begin, end):返回str中begin到end的子集
<c:set var="str" value="${fn:substring('1234567', 2, 6)}"/> <c:out value="${str}"></c:out>
显示:3456
fn:substringAfter(str, sub):返回str中以sub开始之后的字符串,包含sub
fn:substringBefore(str, sub):返回str中以sub开始之前的字符串,不包含sub
<c:set var="str1" value="${fn:substringBefore('1234567', '4')}"/> <c:set var="str2" value="${fn:substringAfter('1234567', '4')}"/> <c:out value="${str1}"></c:out> <c:out value="${str2}"></c:out>
显示:123 567
fn:toLowerCase(str):将str转小写
fn:toUpperCase(str):将str转大写
fn:trim():移除首位的空白
- jstl部分标签整理
- JSTL标签整理
- JSTL标签 参考手册(手动整理)
- 【jstl】jsp标准标签库——标签使用方法整理
- jstl标准标签库的使用(部分)
- 错误整理(一)使用 JSTL 标签出现警告
- 【JSTL】JSTL 标签库
- JSTL标签
- JSTL标签
- JSTL标签
- JSTL标签
- jstl 标签
- jstl标签
- JSTL标签
- JSTL标签
- JSTL标签
- JSTL标签
- JSTL标签
- autorelease 使用
- 内容、利益、服务、功能,四大因素提升用户留存率
- vim 配置tagBar
- Python中collections的用法
- Excel取消掉每次打开弹出的自定义项安装程序弹窗
- jstl部分标签整理
- 如何做好电商平台的内容运营?
- 【bzoj1146】网络管理 主席树+树状数组+树链剖分
- Oracle导入dmp文件
- 关于回车换行缓冲区进度条
- 我第一篇,博客!
- 活动复盘:从策划发起到执行收尾,一场万人参加的活动该如何策划?
- VS2015 调试项目msvsmon.exe程序意外终止解决办法
- 提高篇第一讲项目1.3——输出菱形字母图